*{margin:0;padding:0;box-sizing:border-box}

  :root{
    --ink:#0a0c10;
    --paper:#f5f2ea;
    --white:#ffffff;
    --gold:#b8925a;
    --gold-2:#d8b47a;
    --navy:#131a26;
    --line:#ddd6c5;
    --grey:#6e6a60;
    --ok:#2f7d4f;
    --danger:#b23b3b;
  }

  html{scroll-behavior:smooth}
  body{
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    background:var(--paper);
    color:var(--ink);
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  img{display:block;max-width:100%;height:100%;object-fit:cover}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}

  .wrap{max-width:1360px;margin:0 auto;padding:0 40px}

  /* ============ SCROLL PROGRESS ============ */
  .progress{
    position:fixed;
    top:0;left:0;
    height:2px;
    width:0%;
    background:var(--gold);
    z-index:1000;
    transition:width .1s linear;
  }

  /* ============ TOP LINE (editorial, sem barra) ============ */
  .topline{
    position:fixed;
    top:0;left:0;right:0;
    z-index:100;
    padding:22px 0 0;
    pointer-events:none;
    transition:padding .35s ease, background .35s ease;
  }
  .topline.scrolled{
    background:rgba(245,242,234,0.92);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    padding:14px 0;
    border-bottom:1px solid var(--line);
  }
  .topline-in{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:40px;
    pointer-events:auto;
  }

  /* Logo solto, tipográfico puro */
  .brand{
    display:flex;
    align-items:baseline;
    gap:10px;
    line-height:0.9;
    transition:transform .35s ease;
  }
  .brand b{
    font-family:'Fraunces',serif;
    font-size:26px;
    font-weight:600;
    letter-spacing:-0.035em;
    color:var(--ink);
  }
  .brand b::after{
    content:".";
    color:var(--gold);
    font-weight:800;
  }
  .brand small{
    font-size:10px;
    letter-spacing:0.3em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
  }
  .topline.scrolled .brand b{font-size:22px}


  .topline-right{
    display:flex;
    align-items:center;
    gap:0;
  }
  .topline-right a,
  .topline-right button{
    font-size:11px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:600;
    color:#4a4a44;
    padding:6px 20px;
    transition:color .25s;
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .topline-right a + a::before,
  .topline-right button + a::before,
  .topline-right a + button::before{
    content:"";
    position:absolute;
    left:0;top:50%;
    transform:translateY(-50%);
    width:1px;height:14px;
    background:var(--line);
  }
  .topline-right a:hover,
  .topline-right button:hover{color:var(--gold)}
  .topline-right .strong{color:var(--ink);font-weight:700}
  .topline-right .strong::after{
    content:"";
    position:absolute;
    left:20px;right:20px;bottom:0;
    height:1px;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .3s;
  }
  .topline-right .strong:hover::after{transform:scaleX(1)}


  .fold{
    display:none;
    width:40px;height:40px;
    position:relative;
    pointer-events:auto;
  }
  .fold i,
  .fold i::before,
  .fold i::after{
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:22px;height:1.5px;
    background:var(--ink);
    transition:transform .4s cubic-bezier(.77,0,.18,1), opacity .3s;
  }
  .fold i{transform:translate(-50%,-50%)}
  .fold i::before{transform:translate(-50%,-7px)}
  .fold i::after{transform:translate(-50%,7px)}
  .fold.open i{transform:translate(-50%,-50%) rotate(45deg)}
  .fold.open i::before{transform:translate(-50%,0) rotate(-90deg)}
  .fold.open i::after{opacity:0;transform:translate(-50%,0)}


  .rail{
    position:fixed;
    top:50%;
    left:32px;
    transform:translateY(-50%);
    z-index:90;
    display:flex;
    flex-direction:column;
    gap:14px;
    padding:20px 0;
    transition:left .35s ease;
  }
  .rail-item{
    display:flex;
    align-items:center;
    gap:14px;
    font-size:10px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--grey);
    cursor:pointer;
    transition:color .3s;
    position:relative;
  }
  .rail-item .dot{
    width:8px;height:8px;
    border-radius:50%;
    background:transparent;
    border:1.5px solid var(--grey);
    transition:background .3s, border-color .3s, transform .3s;
    flex-shrink:0;
  }
  .rail-item .label{
    opacity:0;
    transform:translateX(-6px);
    transition:opacity .3s, transform .3s;
    white-space:nowrap;
  }
  .rail:hover .rail-item .label,
  .rail-item:hover .label{opacity:1;transform:translateX(0)}
  .rail-item:hover{color:var(--ink)}
  .rail-item:hover .dot{border-color:var(--gold)}
  .rail-item.active{color:var(--ink)}
  .rail-item.active .dot{
    background:var(--gold);
    border-color:var(--gold);
    transform:scale(1.3);
  }
  .rail-item.active .label{opacity:1;transform:translateX(0)}

  .sheet{
    position:fixed;
    left:0;right:0;bottom:0;
    background:var(--ink);
    color:var(--paper);
    z-index:99;
    padding:36px 28px 40px;
    transform:translateY(100%);
    transition:transform .55s cubic-bezier(.77,0,.18,1);
    max-height:90vh;
    overflow-y:auto;
    border-top:1px solid var(--gold);
  }
  .sheet.open{transform:translateY(0)}
  .sheet-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:32px;
    padding-bottom:20px;
    border-bottom:1px solid #232322;
  }
  .sheet-head span{
    font-size:10px;
    letter-spacing:0.3em;
    text-transform:uppercase;
    color:var(--gold-2);
    font-weight:700;
  }
  .sheet-close{
    width:36px;height:36px;
    border:1px solid #232322;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--paper);
    font-size:18px;
    line-height:1;
  }
  .sheet nav{
    display:flex;
    flex-direction:column;
    gap:0;
    margin-bottom:32px;
  }
  .sheet nav a{
    display:flex;
    justify-content:space-between;
    align-items:baseline;
    padding:20px 0;
    border-bottom:1px solid #232322;
    font-family:'Fraunces',serif;
    font-size:32px;
    font-weight:600;
    letter-spacing:-0.025em;
    transition:color .25s, padding-left .3s;
  }
  .sheet nav a small{
    font-family:'Inter',sans-serif;
    font-size:10px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
  }
  .sheet nav a:hover{color:var(--gold-2);padding-left:8px}
  .sheet-foot{
    display:flex;
    flex-direction:column;
    gap:10px;
    font-size:14px;
    color:#a8a8a2;
  }
  .sheet-foot b{color:var(--paper);font-weight:600}
  .sheet-foot .call{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:var(--gold);
    color:var(--ink);
    padding:16px 24px;
    margin-top:14px;
    font-size:12px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:700;
    align-self:flex-start;
  }

  .hero{
    padding:180px 0 100px;
    position:relative;
    overflow:hidden;
  }
  .hero-bg{
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
  }
  .hero-bg::after{
    content:"";
    position:absolute;
    top:20%;right:-10%;
    width:600px;height:600px;
    background:radial-gradient(circle, rgba(184,146,90,0.14), transparent 70%);
    filter:blur(40px);
  }
  .hero-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1.15fr 1fr;
    gap:80px;
    align-items:center;
  }
  .hero-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:12px;
    font-size:11px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--grey);
    margin-bottom:36px;
  }
  .hero-eyebrow::before{
    content:"";
    width:36px;height:1px;
    background:var(--gold);
  }
  .hero h1{
    font-family:'Fraunces',serif;
    font-size:clamp(48px,6vw,88px);
    font-weight:400;
    line-height:0.98;
    letter-spacing:-0.03em;
    margin-bottom:32px;
  }
  .hero h1 em{
    font-style:italic;
    font-weight:600;
    color:var(--gold);
  }
  .hero p{
    font-size:18px;
    line-height:1.65;
    color:#4a4a44;
    max-width:50ch;
    margin-bottom:44px;
  }
  .hero-actions{
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
  }
  .btn-primary{
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:var(--ink);
    color:var(--paper);
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:700;
    padding:20px 34px;
    transition:background .25s, transform .25s;
  }
  .btn-primary:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}
  .btn-primary svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}

  .btn-ghost{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:transparent;
    color:var(--ink);
    font-size:12px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:700;
    padding:20px 0;
    border-bottom:1.5px solid var(--ink);
    transition:border-color .25s, color .25s;
  }
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

  .hero-meta{
    display:flex;
    gap:36px;
    margin-top:56px;
    padding-top:32px;
    border-top:1px solid var(--line);
    flex-wrap:wrap;
  }
  .hero-meta div{display:flex;flex-direction:column}
  .hero-meta b{
    font-family:'Fraunces',serif;
    font-size:32px;
    font-weight:600;
    letter-spacing:-0.02em;
    line-height:1;
    margin-bottom:6px;
  }
  .hero-meta span{
    font-size:10px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
  }

  .hero-visual{
    position:relative;
    aspect-ratio:4/5;
    overflow:hidden;
  }
  .hero-visual img{width:100%;height:100%;object-fit:cover}
  .hero-visual::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, transparent 60%, rgba(10,12,16,0.4));
    pointer-events:none;
  }
  .hero-badge{
    position:absolute;
    left:24px;bottom:24px;
    background:var(--paper);
    padding:14px 20px;
    font-size:10px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:700;
    z-index:2;
    display:flex;
    align-items:center;
    gap:10px;
  }
  .hero-badge::before{
    content:"";
    width:8px;height:8px;border-radius:50%;
    background:var(--ok);
  }

  /* ============ TICKER ============ */
  .ticker{
    background:var(--ink);
    color:var(--paper);
    padding:22px 0;
    overflow:hidden;
    white-space:nowrap;
    border-top:1px solid var(--ink);
    border-bottom:1px solid var(--ink);
  }
  .ticker-track{
    display:inline-block;
    animation:ticker 40s linear infinite;
    font-size:12px;
    letter-spacing:0.26em;
    text-transform:uppercase;
    font-weight:600;
  }
  .ticker-track span{padding:0 40px;opacity:0.85}
  .ticker-track span::before{content:"◆";color:var(--gold);margin-right:40px;font-size:8px;vertical-align:middle}
  @keyframes ticker{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }


  .section{padding:120px 0}
  .sec-head{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:40px;
    align-items:end;
    padding-bottom:56px;
    border-bottom:1px solid var(--line);
  }
  .sec-num{
    font-family:'Fraunces',serif;
    font-size:14px;
    font-weight:600;
    color:var(--gold);
    letter-spacing:0.05em;
    padding-bottom:16px;
    border-bottom:2px solid var(--gold);
    display:inline-block;
  }
  .sec-head h2{
    font-family:'Fraunces',serif;
    font-size:clamp(40px,4.6vw,68px);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-0.03em;
  }
  .sec-head h2 em{font-style:italic;font-weight:600;color:var(--gold)}
  .sec-head p{
    font-size:16px;
    color:#4a4a44;
    max-width:60ch;
    margin-top:16px;
    line-height:1.65;
  }

  .reveal{
    opacity:0;
    transform:translateY(40px);
    transition:opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
  }
  .reveal.in{opacity:1;transform:translateY(0)}
  .reveal.delay-1{transition-delay:.1s}
  .reveal.delay-2{transition-delay:.2s}
  .reveal.delay-3{transition-delay:.3s}
  .reveal.delay-4{transition-delay:.4s}

  .areas{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    border-top:1px solid var(--line);
    border-left:1px solid var(--line);
    margin-top:64px;
  }
  .area{
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:48px 40px;
    display:flex;
    flex-direction:column;
    min-height:340px;
    transition:background .35s, transform .35s;
    position:relative;
    overflow:hidden;
    cursor:pointer;
  }
  .area::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:3px;
    background:var(--gold);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .45s cubic-bezier(.77,0,.18,1);
  }
  .area:hover{background:var(--white)}
  .area:hover::after{transform:scaleX(1)}
  .area-num{
    font-family:'Fraunces',serif;
    font-size:13px;
    font-weight:600;
    color:var(--gold);
    letter-spacing:0.08em;
    margin-bottom:28px;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .area-num::after{
    content:"";
    flex:1;
    height:1px;
    background:var(--line);
  }
  .area h3{
    font-family:'Fraunces',serif;
    font-size:26px;
    font-weight:600;
    line-height:1.15;
    letter-spacing:-0.02em;
    margin-bottom:16px;
  }
  .area p{
    font-size:15px;
    line-height:1.6;
    color:#5a5a55;
    flex-grow:1;
    margin-bottom:28px;
  }
  .area-link{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:11px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--ink);
    transition:gap .3s, color .3s;
  }
  .area-link svg{
    width:14px;height:14px;
    stroke:currentColor;stroke-width:2;fill:none;
    transition:transform .3s;
  }
  .area:hover .area-link{color:var(--gold);gap:14px}


  .philosophy{
    background:var(--navy);
    color:var(--paper);
    position:relative;
    overflow:hidden;
  }
  .philosophy-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    align-items:stretch;
  }
  .philosophy-img{
    min-height:640px;
    position:relative;
    overflow:hidden;
  }
  .philosophy-img img{width:100%;height:100%;object-fit:cover}
  .philosophy-txt{
    padding:120px 80px;
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
  .philosophy-txt .eyebrow{
    font-size:11px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--gold-2);
    margin-bottom:28px;
    display:inline-flex;
    align-items:center;
    gap:12px;
  }
  .philosophy-txt .eyebrow::before{
    content:"";
    width:36px;height:1px;
    background:var(--gold-2);
  }
  .philosophy-txt h2{
    font-family:'Fraunces',serif;
    font-size:clamp(34px,3.6vw,52px);
    font-weight:400;
    line-height:1.05;
    letter-spacing:-0.03em;
    margin-bottom:32px;
  }
  .philosophy-txt h2 em{font-style:italic;font-weight:600;color:var(--gold-2)}
  .philosophy-txt p{
    font-size:17px;
    line-height:1.75;
    color:#c8c6be;
    margin-bottom:24px;
    max-width:52ch;
  }
  .philosophy-points{
    list-style:none;
    margin-top:24px;
  }
  .philosophy-points li{
    display:flex;
    align-items:flex-start;
    gap:20px;
    padding:20px 0;
    border-bottom:1px solid #232a36;
    font-size:15px;
    color:#e6e4dc;
    line-height:1.5;
  }
  .philosophy-points li:last-child{border-bottom:none}
  .philosophy-points li b{
    font-family:'Fraunces',serif;
    font-size:20px;
    font-weight:600;
    color:var(--gold-2);
    flex-shrink:0;
    width:24px;
  }


  .process-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    margin-top:64px;
    border-top:1px solid var(--line);
  }
  .step{
    padding:48px 32px 48px 0;
    border-right:1px solid var(--line);
    position:relative;
  }
  .step:last-child{border-right:none}
  .step-num{
    font-family:'Fraunces',serif;
    font-size:80px;
    font-weight:400;
    line-height:1;
    letter-spacing:-0.04em;
    color:var(--line);
    margin-bottom:24px;
    transition:color .4s;
  }
  .step:hover .step-num{color:var(--gold)}
  .step h3{
    font-family:'Fraunces',serif;
    font-size:22px;
    font-weight:600;
    letter-spacing:-0.02em;
    margin-bottom:14px;
    line-height:1.2;
  }
  .step p{
    font-size:14px;
    line-height:1.6;
    color:#5a5a55;
  }


  .testimonials{
    background:var(--ink);
    color:var(--paper);
  }
  .testimonials .sec-head{border-bottom-color:#232322}
  .testimonials .sec-head h2{color:var(--paper)}
  .testimonials .sec-head p{color:#a8a8a2}
  .testimonials .sec-num{color:var(--gold-2);border-bottom-color:var(--gold-2)}

  .tst-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:0;
    margin-top:64px;
    border-top:1px solid #232322;
    border-left:1px solid #232322;
  }
  .tst{
    border-right:1px solid #232322;
    border-bottom:1px solid #232322;
    padding:48px 40px;
    display:flex;
    flex-direction:column;
    gap:24px;
    min-height:320px;
    transition:background .3s;
    position:relative;
  }
  .tst:hover{background:#131313}
  .tst-quote{
    font-family:'Fraunces',serif;
    font-size:20px;
    line-height:1.5;
    font-weight:400;
    color:#e6e4dc;
    letter-spacing:-0.01em;
    flex-grow:1;
  }
  .tst-quote::before{content:"“";color:var(--gold);font-size:36px;line-height:0;vertical-align:-8px;margin-right:4px}
  .tst-quote::after{content:"”";color:var(--gold);font-size:36px;line-height:0;vertical-align:-8px;margin-left:4px}
  .tst-who{
    padding-top:24px;
    border-top:1px solid #232322;
    display:flex;
    align-items:center;
    gap:14px;
  }
  .tst-who img{
    width:44px;height:44px;
    border-radius:50%;
    flex-shrink:0;
    background:#232322;
  }
  .tst-who b{
    display:block;
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:0.1em;
    font-weight:700;
    color:var(--paper);
  }
  .tst-who span{
    font-size:11px;
    color:#8a8a82;
    letter-spacing:0.14em;
    text-transform:uppercase;
  }
  .tst-case{
    position:absolute;
    top:44px;right:40px;
    font-size:9px;
    letter-spacing:0.2em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--gold-2);
    border:1px solid #3a3222;
    padding:5px 10px;
  }


  .contact{
    background:var(--paper);
    position:relative;
    overflow:hidden;
  }
  .contact-grid{
    display:grid;
    grid-template-columns:1fr 1.1fr;
    gap:80px;
    align-items:start;
  }
  .contact-info .eyebrow{
    font-size:11px;
    letter-spacing:0.28em;
    text-transform:uppercase;
    font-weight:600;
    color:var(--grey);
    margin-bottom:28px;
    display:inline-flex;
    align-items:center;
    gap:12px;
  }
  .contact-info .eyebrow::before{
    content:"";
    width:36px;height:1px;
    background:var(--gold);
  }
  .contact-info h2{
    font-family:'Fraunces',serif;
    font-size:clamp(40px,4.4vw,64px);
    font-weight:400;
    line-height:1.0;
    letter-spacing:-0.03em;
    margin-bottom:28px;
  }
  .contact-info h2 em{font-style:italic;font-weight:600;color:var(--gold)}
  .contact-info > p{
    font-size:16px;
    line-height:1.7;
    color:#4a4a44;
    max-width:44ch;
    margin-bottom:40px;
  }
  .contact-details{
    display:flex;
    flex-direction:column;
    gap:0;
    border-top:1px solid var(--line);
  }
  .contact-details .row{
    display:flex;
    align-items:center;
    gap:20px;
    padding:22px 0;
    border-bottom:1px solid var(--line);
    transition:padding-left .3s;
  }
  .contact-details .row:hover{padding-left:8px}
  .contact-details svg{
    width:20px;height:20px;
    stroke:var(--gold);stroke-width:1.6;fill:none;
    flex-shrink:0;
  }
  .contact-details b{
    display:block;
    font-size:10px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:600;
    margin-bottom:3px;
  }
  .contact-details span{
    font-size:15px;
    font-weight:500;
    color:var(--ink);
  }

  .form-card{
    background:var(--white);
    border:1px solid var(--line);
    padding:56px 48px;
    box-shadow:0 40px 80px -40px rgba(10,12,16,0.15);
  }
  .form-card h3{
    font-family:'Fraunces',serif;
    font-size:28px;
    font-weight:600;
    letter-spacing:-0.02em;
    margin-bottom:8px;
  }
  .form-card .sub{
    font-size:13px;
    color:var(--grey);
    margin-bottom:32px;
    letter-spacing:0.02em;
  }
  .form-card .field{margin-bottom:22px;position:relative}
  .form-card label{
    display:block;
    font-size:10px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--grey);
    margin-bottom:10px;
  }
  .form-card input,
  .form-card select,
  .form-card textarea{
    width:100%;
    background:transparent;
    border:none;
    border-bottom:1px solid var(--line);
    padding:12px 0;
    font-family:inherit;
    font-size:15px;
    color:var(--ink);
    outline:none;
    transition:border-color .25s;
    border-radius:0;
    -webkit-appearance:none;
    appearance:none;
  }
  .form-card select{
    background-image:linear-gradient(45deg, transparent 50%, var(--grey) 50%),
                     linear-gradient(135deg, var(--grey) 50%, transparent 50%);
    background-position:calc(100% - 12px) 50%, calc(100% - 7px) 50%;
    background-size:5px 5px, 5px 5px;
    background-repeat:no-repeat;
    cursor:pointer;
  }
  .form-card input:focus,
  .form-card select:focus,
  .form-card textarea:focus{border-bottom-color:var(--gold)}
  .form-card input::placeholder,
  .form-card textarea::placeholder{color:#b8b4a8}
  .form-card textarea{resize:vertical;min-height:90px}

  .field-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }

  .checkbox-row{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin:24px 0 28px;
    font-size:13px;
    color:var(--grey);
    line-height:1.5;
    cursor:pointer;
  }
  .checkbox-row input{
    width:16px;height:16px;
    margin-top:2px;
    flex-shrink:0;
    accent-color:var(--gold);
    cursor:pointer;
  }
  .checkbox-row a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--gold)}

  .form-submit{
    width:100%;
    background:var(--ink);
    color:var(--paper);
    font-size:12px;
    letter-spacing:0.24em;
    text-transform:uppercase;
    font-weight:800;
    padding:22px 32px;
    transition:background .25s, transform .25s;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
  }
  .form-submit:hover{background:var(--gold);color:var(--ink);transform:translateY(-2px)}
  .form-submit svg{width:16px;height:16px;stroke:currentColor;stroke-width:2;fill:none}
  .form-submit:disabled{opacity:0.6;cursor:not-allowed;transform:none}

  .form-note{
    margin-top:20px;
    font-size:12px;
    color:var(--grey);
    display:flex;
    align-items:center;
    gap:8px;
    letter-spacing:0.02em;
  }
  .form-note svg{
    width:14px;height:14px;
    stroke:var(--ok);stroke-width:2;fill:none;
    flex-shrink:0;
  }

  .form-success{
    display:none;
    text-align:center;
    padding:40px 0;
  }
  .form-success.show{display:block}
  .form-success svg{
    width:56px;height:56px;
    stroke:var(--ok);stroke-width:1.5;fill:none;
    margin:0 auto 24px;
  }
  .form-success h4{
    font-family:'Fraunces',serif;
    font-size:26px;
    font-weight:600;
    margin-bottom:12px;
    letter-spacing:-0.02em;
  }
  .form-success p{
    font-size:14px;
    color:var(--grey);
    max-width:40ch;
    margin:0 auto;
    line-height:1.6;
  }

  /* ============ FOOTER ============ */
  .foot{
    background:var(--ink);
    color:#8a8a82;
    padding:64px 0 32px;
    border-top:1px solid #232322;
  }
  .foot-top{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:48px;
    padding-bottom:48px;
    border-bottom:1px solid #232322;
  }
  .foot-brand b{
    font-family:'Fraunces',serif;
    font-size:22px;
    font-weight:600;
    color:var(--paper);
    letter-spacing:-0.02em;
    display:block;
    margin-bottom:14px;
  }
  .foot-brand b::after{content:".";color:var(--gold)}
  .foot-brand p{
    font-size:13px;
    line-height:1.7;
    color:#8a8a82;
    max-width:38ch;
    margin-bottom:24px;
  }
  .foot-social{
    display:flex;
    gap:10px;
  }
  .foot-social a{
    width:38px;height:38px;
    border:1px solid #232322;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .25s, border-color .25s;
  }
  .foot-social a:hover{background:var(--gold);border-color:var(--gold)}
  .foot-social svg{
    width:16px;height:16px;
    stroke:#a8a8a2;stroke-width:1.6;fill:none;
    transition:stroke .25s;
  }
  .foot-social a:hover svg{stroke:var(--ink)}

  .foot-col h5{
    font-size:10px;
    letter-spacing:0.26em;
    text-transform:uppercase;
    font-weight:700;
    color:var(--paper);
    margin-bottom:20px;
  }
  .foot-col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
  .foot-col a{
    font-size:13px;
    color:#8a8a82;
    transition:color .25s, padding-left .25s;
    display:inline-block;
  }
  .foot-col a:hover{color:var(--gold-2);padding-left:6px}

  .foot-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:32px;
    font-size:11px;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:#5a5a52;
    gap:24px;
    flex-wrap:wrap;
  }
  .foot-bottom a{color:var(--gold-2)}

  /* ============ RESPONSIVE ============ */
  @media (max-width:1100px){
    .hero-grid{grid-template-columns:1fr;gap:56px}
    .hero{padding:150px 0 80px}
    .philosophy-grid{grid-template-columns:1fr}
    .philosophy-txt{padding:80px 48px}
    .areas{grid-template-columns:1fr 1fr}
    .tst-grid{grid-template-columns:1fr 1fr}
    .process-grid{grid-template-columns:1fr 1fr}
    .step{padding:40px 24px 40px 0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
    .step:nth-child(2n){border-right:none}
    .contact-grid{grid-template-columns:1fr;gap:56px}
    .form-card{padding:44px 32px}
    .foot-top{grid-template-columns:1fr 1fr;gap:40px}
  }

  @media (max-width:900px){
    .rail{display:none}
  }

  @media (max-width:820px){
    .wrap{padding:0 24px}
    .topline{padding:18px 0 0}
    .topline-in{flex-direction:row;align-items:center;gap:16px}
    .topline-right{display:none}
    .fold{display:block}
    .topline.scrolled .fold i,
    .topline.scrolled .fold i::before,
    .topline.scrolled .fold i::after{background:var(--ink)}

    .section{padding:80px 0}
    .sec-head{grid-template-columns:1fr;gap:16px;padding-bottom:40px}
    .areas{grid-template-columns:1fr}
    .tst-grid{grid-template-columns:1fr}
    .process-grid{grid-template-columns:1fr}
    .step{border-right:none;padding:36px 0}
    .foot-top{grid-template-columns:1fr;gap:36px}
    .hero-meta{gap:24px}
    .hero-meta b{font-size:26px}
    .field-row{grid-template-columns:1fr}
    .form-card{padding:32px 24px}
    .sheet nav a{font-size:26px}
  }

  @media (max-width:480px){
    .hero h1{font-size:40px}
    .sec-head h2{font-size:32px}
    .area{padding:36px 24px}
    .tst{padding:36px 24px}
    .contact-info h2{font-size:36px}
    .brand b{font-size:22px}
  }