
    /* ───────── Trancoso tokens (madeira · linho · areia) ───────── */
    :root{
      --sand:#f1e6d3;
      --sand-deep:#e9dcc1;
      --paper:#fbf5e6;
      --linen:#fdf8ed;
      --linen-bright:#fefbf4;
      --linen-soft:#f6efde;
      --ink:#1d1812;
      --ink-soft:#3b342b;
      --soft:#5d534a;
      --wood:#8a6b4a;
      --wood-dark:#5f3f25;
      --wood-darker:#3a2616;
      --bronze:#b79968;
      --leaf:#4a5340;
      --line:rgba(29,24,18,.12);
      --line-soft:rgba(29,24,18,.06);
      --line-wood:rgba(95,63,37,.32);
      --line-bronze:rgba(183,153,104,.40);

      --serif:'Cormorant Garamond', Georgia, serif;
      --sans:'Manrope', system-ui, sans-serif;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:64px}
    body{
      margin:0;
      min-width:840px;
      overflow-x:hidden;
      background:var(--sand);
      color:var(--ink);
      font-family:var(--sans);
      font-weight:300;
      line-height:1.62;
      -webkit-font-smoothing:antialiased;
      /* warm linen-tone noise */
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .15 0 0 0 0 .11 0 0 0 0 .08 0 0 0 .033 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }
    img{display:block;width:100%;max-width:100%}
    a{color:inherit;text-decoration:none}
    .wrap{width:min(calc(100% - 40px),var(--max));margin-inline:auto}

    [data-lang]{display:none!important}
    html[lang="pt-BR"] [data-lang="pt"]{display:contents!important}
    html[lang="en-US"] [data-lang="en"]{display:contents!important}

    /* ───────── typography helpers ───────── */
    .eyebrow{
      display:inline-flex;align-items:baseline;gap:14px;margin-bottom:24px;
      font-size:12px;letter-spacing:.34em;text-transform:uppercase;color:var(--wood);
    }
    .eyebrow i{
      font-family:var(--serif);font-style:italic;letter-spacing:0;text-transform:none;
      color:var(--wood-dark);font-size:17px;
    }
    .display{
      margin:0;font-family:var(--serif);font-weight:300;
      font-size:clamp(48px,11vw,86px);line-height:.95;letter-spacing:-.026em;
    }
    .display em{font-style:italic;color:var(--wood-dark)}
    .lead{
      margin:30px auto 0;max-width:760px;font-family:var(--serif);
      font-size:clamp(21px,3.6vw,27px);line-height:1.46;color:var(--soft);
    }

    /* ───────── topbar (refined linen) ───────── */
    .topbar{
      position:sticky;top:0;z-index:20;
      background:var(--linen);
      border-bottom:1px solid var(--line);
    }
    /* wood-tone hairline under the bar */
    .topbar::after{
      content:"";display:block;height:1px;
      background:linear-gradient(90deg,transparent 6%,rgba(95,63,37,.34) 22%,rgba(183,153,104,.46) 50%,rgba(95,63,37,.34) 78%,transparent 94%);
      opacity:.9;
    }
    .topbar-inner{
      min-height:88px;display:flex;align-items:center;justify-content:space-between;
      gap:24px;padding:16px clamp(20px,4vw,56px);
    }
    .brand{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:6px}
    .brand strong{
      display:block;font-family:var(--serif);font-weight:300;
      font-size:clamp(28px,4.3vw,42px);line-height:.88;letter-spacing:.015em;
      color:var(--ink);white-space:nowrap;
    }
    .brand span{
      display:block;font-size:clamp(10px,1.35vw,12.5px);
      letter-spacing:.36em;text-transform:uppercase;color:var(--wood);white-space:nowrap;
    }

    .nav-actions{
      display:flex;align-items:center;gap:22px;flex:0 0 auto;
      font-family:var(--sans);font-size:clamp(11px,1.2vw,12px);
      letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);
    }
    .lang{display:inline-flex;align-items:baseline;gap:8px;color:var(--soft)}
    .lang button{
      border:0;background:transparent;font:inherit;letter-spacing:inherit;
      text-transform:inherit;color:inherit;cursor:pointer;padding:4px 2px;
      opacity:.42;transition:opacity .3s,color .3s;
    }
    .lang button.active{opacity:1;color:var(--ink)}
    .lang span{opacity:.4;color:var(--wood)}

    /* vertical hairline between lang and nav-mini */
    .nav-mini{
      position:relative;display:flex;align-items:center;gap:24px;
      padding-left:26px;white-space:nowrap;
    }
    .nav-mini::before{
      content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
      width:1px;height:22px;
      background:linear-gradient(180deg,transparent,var(--line-wood),transparent);
    }
    .nav-mini a{
      position:relative;color:var(--ink-soft);padding-bottom:4px;
      transition:color .25s;
    }
    .nav-mini a::after{
      content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
      background:var(--wood-dark);
      transform:scaleX(0);transform-origin:left center;
      transition:transform .3s ease;opacity:.9;
    }
    .nav-mini a:hover{color:var(--wood-dark)}
    .nav-mini a:hover::after{transform:scaleX(1)}

    /* ───────── hero (untouched feel — image to edge + white type) ───────── */
    .hero{
      position:relative;min-height:calc(100svh - 88px);
      display:flex;align-items:flex-end;overflow:hidden;
      color:#fdf8ed;background:#1a140e;
    }
    .hero-media{position:absolute;inset:0}
    .hero-media img{
      height:100%;object-fit:cover;object-position:center 55%;
      filter:saturate(.99) contrast(1.04);
    }
    /* warmer overlay — golden hour, not just dark */
    .hero::after{
      content:"";position:absolute;inset:0;
      background:
        linear-gradient(180deg,rgba(40,24,10,.16) 0%,rgba(18,12,7,.04) 30%,rgba(18,12,7,.40) 70%,rgba(18,12,7,.78) 100%),
        radial-gradient(95% 70% at 50% 36%,rgba(0,0,0,0) 28%,rgba(0,0,0,.34) 100%);
    }
    .hero-inner{
      position:relative;z-index:3;width:min(calc(100% - 40px),var(--max));
      margin:0 auto;padding:clamp(110px,16vh,160px) 0 clamp(58px,9vh,96px);
    }
    /* golden light-motes canvas — sits above image+overlay, below text */
    .hero-fx{
      position:absolute;inset:0;z-index:2;width:100%;height:100%;
      pointer-events:none;opacity:0;transition:opacity 1.6s ease 0.3s;
    }
    .hero-fx.on{opacity:1}
    .hero-kicker{
      display:inline-flex;align-items:center;margin-bottom:22px;
      padding:8px 14px;
      border:1px solid rgba(253,248,237,.42);
      background:linear-gradient(180deg, rgba(50,33,18,.34) 0%, rgba(27,17,10,.30) 100%);
      font-size:clamp(10px,1.32vw,12px);font-weight:500;letter-spacing:.28em;text-transform:uppercase;
      color:#fdf8ed;
      text-shadow:0 4px 18px rgba(0,0,0,.72);
      box-shadow:0 8px 24px rgba(0,0,0,.10), inset 0 0 0 1px rgba(253,248,237,.06);
    }
    .hero-title{
      margin:0;font-family:var(--serif);font-weight:300;
      font-size:clamp(78px,18vw,185px);line-height:.82;letter-spacing:-.044em;
      text-shadow:0 16px 50px rgba(0,0,0,.42);
    }
    .hero-title span{
      display:block;font-size:.52em;line-height:.92;letter-spacing:.015em;
      margin-top:.04em;font-style:italic;color:rgba(253,248,237,.88);
    }
    .hero-sub{
      margin:22px 0 0;font-family:var(--serif);font-style:italic;
      font-size:clamp(28px,5.8vw,46px);line-height:1;color:rgba(253,248,237,.96);
      text-shadow:0 8px 32px rgba(0,0,0,.55);
    }

    /* refined hero menu (was too glassy/dark, now subtler) */
    .hero-menu{margin-top:36px;display:grid;gap:0;max-width:780px}
    .hero-menu a{
      position:relative;min-height:56px;
      display:flex;align-items:center;justify-content:center;text-align:center;
      padding:14px 22px;
      border:1px solid rgba(253,248,237,.48);
      background:linear-gradient(180deg, rgba(50,33,18,.26) 0%, rgba(27,17,10,.22) 100%);
      font-family:var(--sans);font-size:clamp(11px,1.32vw,12.5px);font-weight:500;
      letter-spacing:.18em;text-transform:uppercase;color:#fdf8ed;
      text-shadow:0 2px 12px rgba(0,0,0,.62);
      box-shadow:0 10px 24px rgba(0,0,0,.08), inset 0 0 0 1px rgba(253,248,237,.04);
      transition:background .3s ease,border-color .3s ease,letter-spacing .3s ease,transform .3s ease;
    }
    .hero-menu a:hover{
      background:linear-gradient(180deg, rgba(62,41,23,.34) 0%, rgba(33,22,13,.30) 100%);
      border-color:rgba(253,248,237,.76);
      letter-spacing:.21em;
      transform:translateY(-1px);
    }
    .scroll-line{
      width:1px;height:64px;margin:38px auto 0;
      background:linear-gradient(180deg,rgba(253,248,237,0),rgba(253,248,237,.7),rgba(253,248,237,0));
    }

    /* ───────── interlude — "a luz de Trancoso" (faixa cinematográfica + sol trançado 3D) ───────── */
    .interlude{
      position:relative;overflow:hidden;isolation:isolate;
      min-height:clamp(440px,64vh,640px);
      display:flex;align-items:center;justify-content:center;text-align:center;
      background:
        radial-gradient(120% 92% at 50% 16%, #4a3018 0%, #311f11 46%, #1b1109 100%);
    }
    /* warm grain over the dark band */
    .interlude::after{
      content:"";position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:overlay;opacity:.5;
      background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 .82 0 0 0 0 .5 0 0 0 .05 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
    }
    /* top + bottom hairline to seat the band between linen sections */
    .interlude::before{
      content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:4;
      background:linear-gradient(90deg,transparent 6%,rgba(183,153,104,.5) 50%,transparent 94%);
    }
    .interlude-fx{position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
    /* CSS-only sun shown when WebGL is unavailable (e.g. offline without three.js) */
    .interlude-sun-fallback{
      position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);z-index:1;
      width:min(48vw,340px);aspect-ratio:1;
      border-radius:50%;
      background:
        radial-gradient(circle at center, rgba(252,242,214,.82) 0 17%, rgba(233,200,135,.34) 18%, rgba(233,200,135,.06) 31%, transparent 32%),
        repeating-conic-gradient(from -4deg, rgba(234,205,150,.20) 0 8deg, rgba(115,73,36,.34) 8deg 13deg, rgba(234,205,150,.18) 13deg 21deg),
        radial-gradient(circle at center, transparent 0 62%, rgba(230,197,137,.58) 63% 65%, rgba(92,58,30,.54) 65.5% 68%, transparent 69%),
        radial-gradient(circle at center, rgba(118,74,37,.16) 0 74%, transparent 75%);
      box-shadow:0 0 90px rgba(233,200,135,.18);
      filter:saturate(.96) blur(.2px);
      opacity:.92;
    }
    .interlude.webgl .interlude-sun-fallback{display:none}
    .interlude-copy{
      position:relative;z-index:2;padding:48px 22px;pointer-events:none;
    }
    .interlude-eyebrow{
      display:inline-flex;align-items:baseline;gap:13px;margin-bottom:22px;
      font-family:var(--sans);font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;
      color:rgba(233,200,135,.82);text-shadow:0 2px 16px rgba(20,12,6,.7);
    }
    .interlude-eyebrow i{
      font-family:var(--serif);font-style:italic;letter-spacing:0;text-transform:none;
      color:rgba(233,200,135,.95);font-size:16px;
    }
    .interlude-line{
      margin:0 auto;max-width:18ch;
      font-family:var(--serif);font-weight:300;font-style:italic;
      font-size:clamp(34px,6.4vw,62px);line-height:1.04;letter-spacing:-.01em;
      color:#fdf4e2;text-shadow:0 10px 40px rgba(0,0,0,.6),0 2px 10px rgba(0,0,0,.5);
    }
    .interlude-line em{font-style:italic;color:rgba(233,200,135,.96)}
    .interlude-sub{
      margin:20px auto 0;max-width:34ch;
      font-family:var(--sans);font-weight:300;font-size:clamp(14px,2.4vw,16px);
      line-height:1.6;color:rgba(253,248,237,.74);text-shadow:0 2px 16px rgba(20,12,6,.7);
    }


    .section{padding:clamp(96px,14vw,160px) 0}
    .section-head{
      position:relative;display:flex;align-items:flex-end;justify-content:space-between;
      gap:24px;flex-wrap:wrap;padding-bottom:32px;margin-bottom:56px;
      border-bottom:1px solid var(--line);
    }
    /* small wood-dot ornament beneath section-head divider */
    .section-head::after{
      content:"";position:absolute;left:50%;bottom:-3.5px;
      width:6px;height:6px;border-radius:50%;background:var(--wood);
      transform:translateX(-50%);opacity:.7;
    }
    .meta{font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--soft)}

    /* ───────── intro ───────── */
    .intro{
      text-align:center;
      background:linear-gradient(180deg,var(--linen) 0%,var(--linen-soft) 60%,var(--sand) 100%);
    }
    .intro .wrap::before{
      content:"";display:block;width:min(260px,48vw);height:1px;margin:0 auto 38px;
      background:linear-gradient(90deg,transparent,rgba(95,63,37,.42),transparent);
    }

    /* advantages → hairline columns (no card chrome) */
    .advantages{
      margin:64px auto 0;display:grid;gap:0;
      grid-template-columns:1fr;max-width:1080px;text-align:center;
    }
    .advantage{position:relative;padding:24px 22px}
    .advantage strong{
      display:block;font-family:var(--serif);font-weight:400;font-style:italic;
      font-size:clamp(28px,4vw,38px);line-height:1;margin-bottom:14px;color:var(--ink);
    }
    .advantage span{
      display:block;font-size:14px;color:var(--soft);line-height:1.55;
      max-width:30ch;margin:0 auto;
    }

    /* ───────── houses ───────── */
    .houses{background:var(--sand)}
    .house-list{display:grid;gap:clamp(80px,11vw,120px)}
    .house{display:grid;gap:18px;min-width:0}
    .house-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}

    .frame{
      position:relative;overflow:hidden;background:var(--linen-soft);
      min-width:0;border-radius:4px;
    }
    .frame img{height:100%;object-fit:cover;transition:transform 1.4s ease}
    .frame:hover img{transform:scale(1.035)}
    .frame.lead-img{grid-column:1/-1;aspect-ratio:4/3}
    .frame.sub-img{aspect-ratio:1/1}

    /* house-info: linen flat, hairline border, refined top wood line */
    .house-info{
      position:relative;background:var(--linen);
      border:1px solid var(--line);border-radius:6px;
      padding:clamp(28px,4vw,44px);min-width:0;overflow:hidden;
    }
    .house-info::before{
      content:"";display:block;height:2px;
      width:calc(100% + 2 * clamp(28px,4vw,44px));
      margin:calc(-1 * clamp(28px,4vw,44px)) calc(-1 * clamp(28px,4vw,44px)) 28px;
      background:linear-gradient(90deg,var(--wood-dark),var(--bronze) 40%,transparent 90%);
      opacity:.78;
    }
    .house-top{
      display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;
      align-items:start;margin-bottom:20px;
    }
    .number{
      font-family:var(--serif);font-size:clamp(66px,13vw,116px);font-weight:300;
      line-height:.82;letter-spacing:-.045em;color:var(--wood-dark);
    }
    .house-label{
      font-size:11px;letter-spacing:.3em;text-transform:uppercase;
      color:var(--wood);margin-bottom:8px;
    }
    .house-name{
      margin:0;font-family:var(--serif);font-weight:300;
      font-size:clamp(32px,7vw,48px);line-height:.96;letter-spacing:-.02em;color:var(--ink);
    }
    .house-desc{
      margin:18px 0 22px;font-size:clamp(15.5px,2.9vw,17px);line-height:1.65;
      color:var(--soft);overflow-wrap:anywhere;
    }

    /* clean spec list (ficha técnica) — replaces the old pills + repeated detail lines */
    .house-specs{margin:2px 0 30px;min-width:0}
    .house-specs .row{
      display:grid;grid-template-columns:minmax(92px,26%) 1fr;gap:16px;align-items:baseline;
      padding:11px 0;border-top:1px solid var(--line);
    }
    .house-specs .row:last-child{border-bottom:1px solid var(--line)}
    .house-specs dt{
      font-family:var(--sans);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;
      color:var(--wood);font-weight:500;
    }
    .house-specs dd{
      margin:0;font-size:clamp(14.5px,2.6vw,16px);color:var(--ink-soft);line-height:1.45;
      overflow-wrap:anywhere;
    }

    .house-actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
    .house-link{
      display:inline-flex;align-items:center;gap:8px;padding-bottom:4px;
      border-bottom:1px solid var(--wood-dark);
      font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
      color:var(--wood-dark);
      transition:color .25s,border-color .25s,transform .25s;
    }
    .house-link::after{content:"→";font-size:13px;line-height:1;transform:translateY(-1px);opacity:.8}
    .house-link:hover{color:var(--ink);border-color:var(--ink);transform:translateX(2px)}

    /* ───────── condo ───────── */
    .condo{background:linear-gradient(180deg,var(--linen-soft) 0%,var(--sand) 100%)}
    .condo-lead{
      max-width:768px;margin:8px 0 0;
      font-family:var(--serif);font-weight:300;font-size:clamp(18px,2.25vw,23px);
      line-height:1.62;color:var(--soft);
    }
    .condo-lead em{font-style:italic;color:var(--wood-dark)}

    /* fluid feature strip — airy grid on desktop, swipe carousel on mobile */
    .condo-features{
      margin-top:clamp(36px,5vw,58px);
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:clamp(14px,1.8vw,22px);
    }
    .cfeat{
      position:relative;display:flex;flex-direction:column;
      padding:clamp(22px,2.4vw,30px);
      background:linear-gradient(158deg,var(--linen) 0%,var(--paper) 100%);
      border:1px solid var(--line);border-radius:14px;
      box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 18px 34px -28px rgba(74,44,20,.55);
      transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s,border-color .55s;
    }
    .cfeat:hover{transform:translateY(-5px);border-color:rgba(138,107,74,.42);box-shadow:0 24px 44px -28px rgba(74,44,20,.6)}
    .cfeat-top{display:flex;align-items:center;gap:11px;margin-bottom:15px}
    .cfeat-leaf{width:22px;height:22px;flex:0 0 auto;color:var(--bronze)}
    .cfeat-n{font-family:var(--sans);font-size:11px;letter-spacing:.26em;color:var(--bronze);font-weight:600}
    .cfeat h3{
      margin:0 0 9px;font-family:var(--serif);font-style:italic;font-weight:400;
      font-size:clamp(23px,2.5vw,30px);line-height:1.05;color:var(--ink);
    }
    .cfeat p{margin:0;font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--soft)}

    /* organic asymmetric mosaic (incl. wildlife + beach) */
    .condo-mosaic{
      margin-top:clamp(36px,5vw,60px);
      display:grid;gap:clamp(10px,1.4vw,16px);
      grid-template-columns:repeat(3,1fr);
      grid-auto-rows:clamp(140px,15.5vw,212px);
      grid-template-areas:
        "aerea aerea preg"
        "quad  tart  preg"
        "umbr  perg  perg";
    }
    .condo-mosaic .frame{position:relative;border-radius:6px;overflow:hidden;cursor:zoom-in;background:#e9ddc7}
    .condo-mosaic .frame img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
    .condo-mosaic .frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 64%,rgba(31,24,18,.28));opacity:0;transition:opacity .4s}
    .condo-mosaic .frame:hover img{transform:scale(1.055)}
    .condo-mosaic .frame:hover::after{opacity:1}
    .cm-aerea{grid-area:aerea}.cm-preg{grid-area:preg}.cm-quad{grid-area:quad}
    .cm-tart{grid-area:tart}.cm-umbr{grid-area:umbr}.cm-perg{grid-area:perg}
    .cm-cap{
      position:absolute;left:14px;bottom:12px;z-index:2;
      font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
      color:#fdf8ed;text-shadow:0 2px 10px rgba(20,12,6,.7);
      opacity:0;transform:translateY(5px);transition:opacity .4s,transform .4s;pointer-events:none;
    }
    .condo-mosaic .frame:hover .cm-cap{opacity:1;transform:none}

    /* premium reveal-on-scroll (staggered) */
    .reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
    .reveal.in{opacity:1;transform:none}
    .condo-features .cfeat:nth-child(2){transition-delay:.07s}
    .condo-features .cfeat:nth-child(3){transition-delay:.14s}
    .condo-features .cfeat:nth-child(4){transition-delay:.06s}
    .condo-features .cfeat:nth-child(5){transition-delay:.13s}
    .condo-features .cfeat:nth-child(6){transition-delay:.2s}
    .condo-mosaic .frame:nth-child(2){transition-delay:.06s}
    .condo-mosaic .frame:nth-child(3){transition-delay:.12s}
    .condo-mosaic .frame:nth-child(4){transition-delay:.18s}
    .condo-mosaic .frame:nth-child(5){transition-delay:.24s}
    .condo-mosaic .frame:nth-child(6){transition-delay:.3s}
    @media(prefers-reduced-motion:reduce){.reveal{transition:none}}

    /* ───────── contact ───────── */
    .contact{text-align:center;background:var(--paper)}
    .contact-box{
      position:relative;overflow:hidden;max-width:720px;margin:0 auto;
      background:var(--linen);border:1px solid var(--line);border-radius:6px;
      padding:clamp(36px,6vw,64px);
    }
    .contact-box::before{
      content:"";display:block;height:2px;
      width:calc(100% + 2 * clamp(36px,6vw,64px));
      margin:calc(-1 * clamp(36px,6vw,64px)) calc(-1 * clamp(36px,6vw,64px)) 32px;
      background:linear-gradient(90deg,var(--wood-dark),var(--bronze) 40%,transparent 90%);
      opacity:.78;
    }
    .btn{
      display:inline-flex;align-items:center;justify-content:center;
      margin-top:36px;min-height:60px;padding:18px 48px;border-radius:0;
      background:var(--ink);color:#fdf8ed;border:1px solid var(--ink);
      font-family:var(--sans);font-size:12px;font-weight:500;
      letter-spacing:.26em;text-transform:uppercase;
      transition:background .3s ease,border-color .3s ease,letter-spacing .3s ease;
    }
    .btn:hover{background:var(--wood-dark);border-color:var(--wood-dark);letter-spacing:.3em}
    .btn-wa{gap:11px}
    .btn-wa .wa-ico{flex:0 0 auto;margin-top:-1px;opacity:.95}
    .contact-small{
      margin-top:24px;display:flex;justify-content:center;gap:22px;flex-wrap:wrap;
      font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--soft);
    }
    .contact-small a{
      border-bottom:1px solid var(--line-wood);padding-bottom:2px;
      transition:color .25s,border-color .25s;
    }
    .contact-small a:hover{color:var(--ink);border-color:var(--wood-dark)}

    /* ───────── footer ───────── */
    footer{
      padding:38px 0;text-align:center;font-size:12px;letter-spacing:.26em;
      text-transform:uppercase;color:var(--soft);
      border-top:1px solid var(--line);background:var(--paper);
    }

    /* ───────── responsive ───────── */
    /* Final mobile readability tuning: the site keeps the desktop-editorial composition on phones,
       but uses a 840px virtual viewport instead of 980px so text is about 16% easier to read. */
    @media(min-width:760px){
      .hero-menu{grid-template-columns:repeat(3,1fr)}
      .advantages{grid-template-columns:repeat(5,1fr)}
      .advantage + .advantage::before{
        content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;
        background:linear-gradient(180deg,transparent,var(--line-wood),transparent);
      }
      .house{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:24px}
      .house:nth-child(even){grid-template-columns:.9fr 1.1fr}
      .house:nth-child(even) .house-gallery{order:2}
      .house:nth-child(even) .house-info{order:1}
      .house-gallery{grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr}
      .frame.lead-img{grid-column:1/2;grid-row:1/3;aspect-ratio:auto;min-height:520px}
      .frame.sub-img{aspect-ratio:auto;min-height:250px}
    }

    @media(max-width:640px){
      .topbar-inner{min-height:46px;padding:8px 14px;gap:8px;align-items:center;flex-wrap:nowrap}
      .brand{flex:1 1 auto;min-width:0;overflow:hidden}
      .brand strong{font-size:18px;line-height:.94;letter-spacing:.02em;white-space:nowrap}
      .brand span{margin-top:4px;font-size:7.2px;letter-spacing:.22em;white-space:nowrap}
      .nav-actions{gap:8px;font-size:7px;letter-spacing:.10em;white-space:nowrap}
      .nav-mini{gap:8px;padding-left:10px}
      .nav-mini::before{height:14px}
      .hero{min-height:calc(100svh - 46px)}
      .hero-inner{width:100%;padding:0 8px 42px}
      .hero-kicker{margin-bottom:12px;padding:6px 9px;font-size:7.4px;font-weight:500;letter-spacing:.16em;max-width:100%}
      .hero-title{font-size:clamp(52px,17vw,68px);line-height:.84;letter-spacing:-.04em}
      .hero-title span{font-size:.42em;line-height:1;margin-top:.08em}
      .hero-sub{margin-top:12px;font-size:clamp(20px,6vw,25px);line-height:.98}
      .hero-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:20px;max-width:none}
      .hero-menu a{min-height:34px;padding:7px 5px;font-size:7.8px;font-weight:500;letter-spacing:.10em;line-height:1.1}
      .scroll-line{height:44px;margin-top:18px}
      .section-head{align-items:flex-start}
      .house-top{grid-template-columns:1fr;gap:10px}
      .number{font-size:78px}
      .house-info{padding:25px 18px}
      .btn{min-height:46px;padding:13px 26px;font-size:9.5px;letter-spacing:.18em}
      .house-actions{gap:14px;margin-top:24px}
      .house-link{font-size:9.6px;letter-spacing:.13em}
    }

    @media(max-width:390px){
      .brand strong{font-size:17px}
      .brand span{font-size:6.8px;letter-spacing:.18em}
      .nav-actions{font-size:6.6px;gap:6px;letter-spacing:.08em}
      .nav-mini{gap:6px;padding-left:8px}
      .hero-inner{padding-left:6px;padding-right:6px}
      .hero-title{font-size:clamp(50px,16.5vw,64px)}
      .hero-sub{font-size:clamp(19px,5.8vw,24px)}
      .hero-menu a{font-size:7px;font-weight:500;letter-spacing:.08em;min-height:32px;padding-inline:3px}
    }


    /* ───────── V18 — mobile real legível, sem perder a estética editorial ───────── */
    @media(max-width:760px){
      html,body{width:100%;max-width:100%;overflow-x:hidden;}
      body{min-width:0;}
      .wrap{width:min(calc(100% - 30px),var(--max));}

      .topbar-inner{
        min-height:72px;
        padding:12px 15px;
        gap:0;
        align-items:center;
      }
      .brand{flex:1 1 auto;min-width:0;}
      .brand strong{
        white-space:normal;
        font-size:25px;
        line-height:.96;
        letter-spacing:.01em;
        max-width:245px;
      }
      .brand span{
        margin-top:5px;
        white-space:normal;
        font-size:9.8px;
        letter-spacing:.18em;
        line-height:1.25;
      }
      .nav-actions{
        flex:0 0 auto;
        gap:9px;
        font-size:10.5px;
        letter-spacing:.12em;
      }
      .nav-mini{
        padding-left:10px;
        gap:0;
      }
      .nav-mini::before{height:18px;}
      .nav-mini a:not(.contact-top){display:none;}
      .contact-top{display:inline-block;}
      .lang button{padding:4px 1px;}

      .hero{
        min-height:calc(100svh - 72px);
      }
      .hero-media img{object-position:center center;}
      .hero-inner{
        width:min(calc(100% - 28px),var(--max));
        padding:92px 0 44px;
      }
      .hero-kicker{
        margin-bottom:16px;
        padding:8px 11px;
        max-width:100%;
        font-size:10.8px;
        font-weight:500;
        letter-spacing:.14em;
        line-height:1.35;
      }
      .hero-title{
        font-size:clamp(62px,18vw,82px);
        line-height:.84;
        letter-spacing:-.04em;
      }
      .hero-title span{
        font-size:.48em;
        line-height:.98;
        margin-top:.07em;
      }
      .hero-sub{
        margin-top:15px;
        font-size:clamp(26px,7.4vw,34px);
        line-height:1.02;
        max-width:12ch;
      }
      .hero-menu{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:7px;
        margin-top:26px;
      }
      .hero-menu a{
        min-height:44px;
        padding:10px 5px;
        font-size:9.9px;
        font-weight:500;
        letter-spacing:.09em;
        line-height:1.25;
      }
      .scroll-line{height:18px;margin-top:22px;}

      .section{padding:70px 0;}
      .section-head{
        margin-bottom:34px;
        padding-bottom:22px;
        gap:16px;
      }
      .eyebrow{
        margin-bottom:16px;
        font-size:11.5px;
        letter-spacing:.22em;
        gap:10px;
      }
      .eyebrow i{font-size:15px;}
      .display{
        font-size:clamp(42px,12.5vw,56px);
        line-height:1;
      }
      .lead{
        margin-top:22px;
        font-size:20px;
        line-height:1.48;
        max-width:100%;
      }
      .meta{
        font-size:11px;
        letter-spacing:.14em;
        line-height:1.45;
      }

      .advantages{
        margin-top:38px;
        grid-template-columns:1fr;
        text-align:left;
        border-top:1px solid var(--line);
      }
      .advantage{
        padding:22px 0;
        border-bottom:1px solid var(--line);
      }
      .advantage strong{
        font-size:30px;
        margin-bottom:10px;
      }
      .advantage span{
        margin:0;
        max-width:none;
        font-size:16px;
        line-height:1.55;
      }

      .house-list{gap:62px;}
      .house{
        display:grid;
        grid-template-columns:1fr;
        gap:14px;
      }
      .house:nth-child(even) .house-gallery,
      .house:nth-child(even) .house-info{order:initial;}
      .house-gallery{
        grid-template-columns:1fr 1fr;
        gap:8px;
      }
      .frame{border-radius:6px;}
      .frame.lead-img{
        grid-column:1/-1;
        grid-row:auto;
        aspect-ratio:4/3;
        min-height:0;
      }
      .frame.sub-img{
        aspect-ratio:1/1;
        min-height:0;
      }
      .house-info{
        padding:24px 18px 26px;
        border-radius:8px;
      }
      .house-info::before{
        width:calc(100% + 36px);
        margin:-24px -18px 22px;
      }
      .house-top{
        grid-template-columns:auto minmax(0,1fr);
        gap:14px;
        margin-bottom:18px;
      }
      .number{
        font-size:62px;
        line-height:.84;
      }
      .house-label{
        font-size:10.5px;
        letter-spacing:.20em;
        margin-bottom:6px;
      }
      .house-name{
        font-size:31px;
        line-height:1;
      }
      .house-desc{
        margin:18px 0 20px;
        font-size:17px;
        line-height:1.58;
      }
      .house-specs{margin:0 0 22px;}
      .house-specs .row{grid-template-columns:minmax(84px,30%) 1fr;gap:12px;padding:10px 0;}
      .house-specs dt{font-size:9.6px;letter-spacing:.16em;}
      .house-specs dd{font-size:15px;line-height:1.4;}
      .house-actions{
        margin-top:24px;
        gap:16px 20px;
      }
      .house-link{
        font-size:11px;
        letter-spacing:.10em;
        line-height:1.35;
      }

      .condo-lead{font-size:clamp(17px,4.6vw,20px);}
      .condo-features{
        display:grid;grid-template-columns:1fr;gap:12px;margin-top:28px;padding:0;
      }
      .cfeat{border-radius:13px;}
      .cfeat h3{font-size:clamp(24px,6.6vw,30px);}
      .condo-mosaic{
        margin-top:30px;gap:9px;
        grid-template-columns:1fr 1fr;
        grid-auto-rows:clamp(116px,30vw,170px);
        grid-template-areas:
          "aerea aerea"
          "preg  quad"
          "preg  tart"
          "umbr  perg";
      }

      .contact-box{
        padding:30px 18px 34px;
        border-radius:8px;
      }
      .contact-box::before{
        width:calc(100% + 36px);
        margin:-30px -18px 26px;
      }
      .btn{
        width:100%;
        min-height:54px;
        margin-top:28px;
        padding:15px 18px;
        font-size:11.5px;
        letter-spacing:.12em;
        line-height:1.3;
      }
      .contact-small{
        gap:12px 18px;
        font-size:11px;
        letter-spacing:.10em;
        line-height:1.5;
      }
      footer{
        padding:28px 0;
        font-size:10.5px;
        letter-spacing:.14em;
        line-height:1.5;
      }
    }

    @media(max-width:370px){
      .brand strong{font-size:22px;max-width:205px;}
      .brand span{font-size:9px;letter-spacing:.15em;}
      .nav-actions{font-size:9.5px;gap:7px;}
      .hero-title{font-size:58px;}
      .hero-sub{font-size:25px;}
      .hero-menu a{font-size:9.6px;letter-spacing:.09em;line-height:1.25;}
      .house-top{grid-template-columns:1fr;}
      .number{font-size:58px;}
      .house-name{font-size:30px;}
    }

    /* ───────── v23: hero sem recuadros + chapéu de palha Trancoso ───────── */
    .hero-kicker{
      padding:0 !important;
      border:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      letter-spacing:.30em;
      color:rgba(253,248,237,.92);
    }
    .hero-kicker::after{
      content:"";
      display:inline-block;
      width:80px;
      height:1px;
      margin-left:18px;
      background:linear-gradient(90deg,rgba(253,248,237,.62),rgba(253,248,237,0));
      transform:translateY(-1px);
    }
    .hero-menu{
      margin-top:34px;
      display:flex;
      flex-wrap:wrap;
      gap:18px 30px;
      max-width:820px;
    }
    .hero-menu a{
      min-height:auto !important;
      padding:0 0 9px !important;
      border:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      justify-content:flex-start;
      position:relative;
      color:rgba(253,248,237,.94);
      letter-spacing:.16em;
      text-shadow:0 3px 18px rgba(0,0,0,.65);
    }
    .hero-menu a::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:1px;
      background:linear-gradient(90deg,rgba(253,248,237,.70),rgba(253,248,237,.12));
      transform-origin:left;
      transform:scaleX(.72);
      opacity:.78;
      transition:transform .3s ease, opacity .3s ease;
    }
    .hero-menu a:hover{
      border:0 !important;
      background:transparent !important;
      box-shadow:none !important;
      transform:translateY(-1px);
      letter-spacing:.18em;
    }
    .hero-menu a:hover::after{
      transform:scaleX(1);
      opacity:1;
    }

    .trancoso-breeze-section{
      position:relative;
      overflow:hidden;
      isolation:isolate;
      min-height:clamp(150px,22vh,210px);
      display:grid;
      place-items:center;
      padding:clamp(14px,3.2vw,26px) 18px;
      background:
        radial-gradient(circle at center, rgba(205,154,96,.16) 0%, rgba(205,154,96,.06) 28%, rgba(65,31,12,0) 60%),
        linear-gradient(180deg,var(--sand) 0%,var(--linen-soft) 52%,var(--linen) 100%);
    }
    .trancoso-breeze-section::before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:0;
      height:1px;
      z-index:0;
      pointer-events:none;
      background:linear-gradient(90deg,transparent 6%,rgba(183,153,104,.42) 50%,transparent 94%);
    }
    .trancoso-breeze-section::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:1px;
      z-index:1;
      pointer-events:none;
      background:linear-gradient(90deg,transparent 6%,rgba(183,153,104,.34) 50%,transparent 94%);
    }
    .trancoso-breeze-inner{
      position:relative;
      z-index:2;
      width:min(320px,100%);
      margin:0 auto;
      display:grid;
      place-items:center;
      gap:0;
    }

    .trancoso-hat-wrap{
      width:min(150px,18vw);
      aspect-ratio:1/1;
      margin:0 auto;
      display:grid;
      place-items:center;
      background:transparent;
      perspective:1000px;
      position:relative;
    }
    .trancoso-hat-wrap::after{
      content:"";
      position:absolute;
      inset:auto 22% 10% 22%;
      height:12px;
      background:radial-gradient(circle,rgba(96,58,29,.18) 0%,rgba(96,58,29,.08) 42%,rgba(0,0,0,0) 74%);
      filter:blur(8px);
      z-index:0;
      pointer-events:none;
    }
    .trancoso-hat{
      width:100%;
      height:100%;
      overflow:visible;
      transform-style:preserve-3d;
      animation:trancosoHatFloat 9s ease-in-out infinite;
      will-change:transform;
      position:relative;
      z-index:2;
    }
    .hat-lines{
      fill:none;
      stroke:#7e4e27;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    .main-brim{
      stroke:#71421e;
      stroke-width:2.5;
      opacity:.96;
      animation:brimBreath 7.5s ease-in-out infinite;
      transform-box:fill-box;
      transform-origin:center;
    }
    .hat-lines > path:not(.main-brim):not(.band):not(.band-detail){
      stroke:#b0733d;
      stroke-width:1.15;
      opacity:.6;
    }
    .fibers path,
    .imperfections path{
      stroke:#8a552a;
      transform-box:fill-box;
      transform-origin:center;
      will-change:transform;
    }
    .crown-shadow{
      fill:rgba(122,71,31,.08);
      stroke:rgba(122,71,31,.22);
      stroke-width:2;
    }
    .crown{
      fill:rgba(185,130,72,.045);
      stroke:#8a552a;
      stroke-width:2.4;
    }
    .crown-weave ellipse,
    .crown-weave path{
      stroke:#a86c37;
      stroke-width:1.05;
      fill:none;
      transform-box:fill-box;
      transform-origin:center;
    }
    .band{
      stroke:#7b471f;
      stroke-width:13;
      opacity:.92;
    }
    .band-detail{
      stroke:#d09a5b;
      stroke-width:2;
      opacity:.72;
    }
    .knot{
      animation:knotSwing 6.5s ease-in-out infinite;
      transform-box:fill-box;
      transform-origin:center left;
    }
    .knot ellipse{
      fill:rgba(122,71,31,.16);
      stroke:#7b471f;
      stroke-width:2;
    }
    .knot path{
      stroke:#7b471f;
      stroke-width:2.2;
      transform-box:fill-box;
      transform-origin:left center;
    }
    @keyframes trancosoHatFloat{
      0%,100%{transform:rotateX(0deg) rotateY(0deg) rotateZ(0deg) translateY(0)}
      30%{transform:rotateX(4deg) rotateY(-5deg) rotateZ(.8deg) translateY(-5px)}
      65%{transform:rotateX(-3deg) rotateY(4deg) rotateZ(-.6deg) translateY(3px)}
    }
    @keyframes brimBreath{
      0%,100%{transform:scale(1) rotate(0deg)}
      50%{transform:scale(1.007) rotate(.12deg)}
    }
    .fibers path:nth-child(1),
    .fibers path:nth-child(4),
    .fibers path:nth-child(7),
    .fibers path:nth-child(10){animation:fiberBreezeA 4.8s ease-in-out infinite}
    .fibers path:nth-child(2),
    .fibers path:nth-child(5),
    .fibers path:nth-child(8),
    .fibers path:nth-child(11){animation:fiberBreezeB 5.4s ease-in-out infinite}
    .fibers path:nth-child(3),
    .fibers path:nth-child(6),
    .fibers path:nth-child(9),
    .fibers path:nth-child(12){animation:fiberBreezeC 6s ease-in-out infinite}
    @keyframes fiberBreezeA{
      0%,100%{transform:translateX(0) translateY(0) rotate(0deg);opacity:.45}
      50%{transform:translateX(1.6px) translateY(-1px) rotate(.6deg);opacity:.62}
    }
    @keyframes fiberBreezeB{
      0%,100%{transform:translateX(0) translateY(0) rotate(0deg);opacity:.42}
      50%{transform:translateX(-1.4px) translateY(1px) rotate(-.5deg);opacity:.58}
    }
    @keyframes fiberBreezeC{
      0%,100%{transform:translateX(0) translateY(0) rotate(0deg);opacity:.4}
      50%{transform:translateX(1px) translateY(.5px) rotate(.4deg);opacity:.54}
    }
    @keyframes knotSwing{
      0%,100%{transform:rotate(0deg) translateX(0)}
      50%{transform:rotate(1deg) translateX(1px)}
    }
    .imperfections path:nth-child(odd){animation:imperfectionShake 8s ease-in-out infinite}
    .imperfections path:nth-child(even){animation:imperfectionShake2 9s ease-in-out infinite}
    @keyframes imperfectionShake{
      0%,100%{transform:translate(0,0) rotate(0deg)}
      50%{transform:translate(.5px,-.5px) rotate(.45deg)}
    }
    @keyframes imperfectionShake2{
      0%,100%{transform:translate(0,0) rotate(0deg)}
      50%{transform:translate(-.5px,.4px) rotate(-.4deg)}
    }

    @media(max-width:760px){
      .hero-menu{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:0;
        max-width:100%;
      }
      .hero-menu a{
        justify-content:center;
        text-align:center;
        padding-bottom:8px !important;
        font-size:10.6px;
        line-height:1.25;
        letter-spacing:.10em;
      }
      .hero-menu a:hover{letter-spacing:.10em}
      .trancoso-breeze-section{
        min-height:140px;
        padding:14px 12px 18px;
      }
      .trancoso-breeze-inner{
        width:min(220px,100%);
      }
      .trancoso-hat-wrap{
        width:min(112px,28vw);
      }

    }
    @media(max-width:370px){
      .hero-menu a{
        font-size:9.7px;
        letter-spacing:.07em;
      }
    }
    @media(prefers-reduced-motion:reduce){
      .trancoso-hat,
      .main-brim,
      .fibers path,
      .knot,
      .imperfections path{
        animation:none!important;
      }
    }


    /* ───────── v24: separador aprovado de palha de coqueiro seca ───────── */
    .coconut-straw-separator{
      position:relative;
      overflow:hidden;
      isolation:isolate;
      min-height:clamp(165px,22vh,220px);
      display:grid;
      place-items:center;
      padding:clamp(16px,3.5vw,28px) 18px;
      background:
        radial-gradient(circle at center, rgba(205,154,96,.16) 0%, rgba(205,154,96,.06) 28%, rgba(65,31,12,0) 60%),
        linear-gradient(180deg,var(--sand) 0%,var(--linen-soft) 52%,var(--linen) 100%);
    }
    .coconut-straw-separator::before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      top:0;
      height:1px;
      background:linear-gradient(90deg,transparent 6%,rgba(183,153,104,.42) 50%,transparent 94%);
    }
    .coconut-straw-separator::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:1px;
      background:linear-gradient(90deg,transparent 6%,rgba(183,153,104,.34) 50%,transparent 94%);
    }
    .coconut-straw-inner{
      width:min(170px,20vw);
      aspect-ratio:1/1;
      display:grid;
      place-items:center;
      background:transparent;
      overflow:visible;
      perspective:900px;
    }
    .coconut-straw{
      width:100%;
      height:100%;
      overflow:visible;
      transform-origin:52% 58%;
      animation:coconutWholeBreeze 9.8s ease-in-out infinite;
      will-change:transform;
    }
    .coconut-lines{
      fill:none;
      stroke-linecap:round;
      stroke-linejoin:round;
    }
    .coconut-spine-main{
      stroke:#6f421e;
      stroke-width:5.2;
      opacity:.95;
    }
    .coconut-spine-light{
      stroke:#d7aa73;
      stroke-width:1.35;
      opacity:.48;
    }
    .coconut-shade{
      stroke:rgba(111,66,30,.30);
      stroke-width:8;
      opacity:.25;
    }
    .coconut-rib{
      stroke:#94602f;
      stroke-width:1.85;
      opacity:.8;
      transform-box:fill-box;
      transform-origin:100% 50%;
      will-change:transform,opacity;
    }
    .coconut-rib.thin{
      stroke:#c08a4e;
      stroke-width:1.05;
      opacity:.44;
    }
    .coconut-rib.broken{
      stroke:#6f421e;
      stroke-width:1.35;
      opacity:.45;
    }
    .coconut-fray{
      stroke:#6f421e;
      stroke-width:.92;
      opacity:.42;
      transform-box:fill-box;
      transform-origin:center;
      animation:coconutFrayMove 6.8s ease-in-out infinite;
    }
    .coconut-left .coconut-rib:nth-child(3n+1){animation:coconutWindLeftA 5.8s ease-in-out infinite}
    .coconut-left .coconut-rib:nth-child(3n+2){animation:coconutWindLeftB 6.6s ease-in-out infinite}
    .coconut-left .coconut-rib:nth-child(3n){animation:coconutWindLeftC 7.2s ease-in-out infinite}
    .coconut-right .coconut-rib:nth-child(3n+1){animation:coconutWindRightA 5.8s ease-in-out infinite}
    .coconut-right .coconut-rib:nth-child(3n+2){animation:coconutWindRightB 6.6s ease-in-out infinite}
    .coconut-right .coconut-rib:nth-child(3n){animation:coconutWindRightC 7.2s ease-in-out infinite}
    .coconut-rib:nth-child(4n){animation-delay:.55s}
    .coconut-rib:nth-child(5n){animation-delay:1.1s}
    .coconut-rib:nth-child(7n){animation-delay:1.6s}
    @keyframes coconutWholeBreeze{
      0%,100%{transform:translate3d(0,0,0) rotate(0deg) scale(1)}
      30%{transform:translate3d(1px,-3px,0) rotate(.55deg) scale(1.001)}
      63%{transform:translate3d(-1px,2px,0) rotate(-.42deg) scale(.999)}
      84%{transform:translate3d(.4px,-1px,0) rotate(.18deg) scale(1)}
    }
    @keyframes coconutWindLeftA{
      0%,100%{transform:translate(0,0) rotate(0deg);opacity:.78}
      50%{transform:translate(-1px,-.45px) rotate(-.8deg);opacity:.92}
    }
    @keyframes coconutWindLeftB{
      0%,100%{transform:translate(0,0) rotate(0deg);opacity:.74}
      50%{transform:translate(-.6px,.45px) rotate(-.48deg);opacity:.86}
    }
    @keyframes coconutWindLeftC{
      0%,100%{transform:translate(0,0) rotate(0deg);opacity:.70}
      50%{transform:translate(-1.3px,.15px) rotate(-.65deg);opacity:.82}
    }
    @keyframes coconutWindRightA{
      0%,100%{transform:translate(0,0) rotate(0deg);opacity:.78}
      50%{transform:translate(1px,-.45px) rotate(.8deg);opacity:.92}
    }
    @keyframes coconutWindRightB{
      0%,100%{transform:translate(0,0) rotate(0deg);opacity:.74}
      50%{transform:translate(.6px,.45px) rotate(.48deg);opacity:.86}
    }
    @keyframes coconutWindRightC{
      0%,100%{transform:translate(0,0) rotate(0deg);opacity:.70}
      50%{transform:translate(1.3px,.15px) rotate(.65deg);opacity:.82}
    }
    @keyframes coconutFrayMove{
      0%,100%{transform:translate(0,0) rotate(0deg);opacity:.36}
      50%{transform:translate(.6px,-.25px) rotate(.45deg);opacity:.55}
    }
    @media(max-width:760px){
      .coconut-straw-separator{
        min-height:150px;
        padding:14px 12px 18px;
      }
      .coconut-straw-inner{
        width:min(126px,30vw);
      }
    }
    @media(prefers-reduced-motion:reduce){
      .coconut-straw,
      .coconut-rib,
      .coconut-fray{
        animation:none!important;
      }
    }

    
    /* ───────── v30: enquadramento padronizado dos separadores estáticos ───────── */
    .static-separator-section{
      position:relative;
      overflow:hidden;
      isolation:isolate;
      height:clamp(96px,11vh,128px);
      min-height:0;
      display:grid;
      place-items:center;
      padding:0 18px;
      margin:0;
      background:
        radial-gradient(circle at center, rgba(205,154,96,.10) 0%, rgba(205,154,96,.04) 30%, rgba(65,31,12,0) 64%),
        linear-gradient(180deg,var(--sand) 0%,var(--linen-soft) 52%,var(--linen) 100%);
    }
    .static-separator-section::before,
    .static-separator-section::after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      height:1px;
      pointer-events:none;
      background:linear-gradient(90deg,transparent 8%,rgba(183,153,104,.26) 50%,transparent 92%);
    }
    .static-separator-section::before{top:0;}
    .static-separator-section::after{bottom:0;opacity:.68;}

    .separator-row{
      width:min(660px,92vw);
      height:100%;
      display:grid;
      grid-template-columns:1fr auto 1fr;
      align-items:center;
      justify-items:center;
      gap:clamp(22px,3.6vw,46px);
      margin:0 auto;
    }
    .separator-row::before,
    .separator-row::after{
      content:"";
      display:block;
      width:100%;
      height:1px;
      background:linear-gradient(90deg,transparent,rgba(128,86,45,.42),transparent);
    }

    /* Shared band/lines/centering for all three; per-motif HEIGHT below balances
       their visual presence (a long canoe vs. a compact frond read very differently
       at the same height). Canoa is the reference size the client approved. */
    .separator-img{
      display:block;
      width:auto;
      height:clamp(42px,5.6vw,56px);
      max-width:min(80vw,460px);
      object-fit:contain;
      object-position:center;
      opacity:.92;
      filter:drop-shadow(0 6px 10px rgba(74,44,20,.06));
    }
    /* Per-motif sizing + OPTICAL vertical centering. Each PNG's visual mass sits
       off the geometric centre (canoe hull low, frayed hat low, frond high), so a
       small translateY (% of the element, scale-independent → works on mobile too)
       lands every object's visual centre on the same band line. Heights kept close
       so the three read as one harmonious set. */
    .separator-canoa .separator-img{height:clamp(46px,5.9vw,58px);transform:translateY(-12%);}
    .separator-hat   .separator-img{height:clamp(50px,6.2vw,66px);transform:translateY(-6.5%);}
    .separator-palha .separator-img{height:clamp(56px,6.9vw,74px);transform:translateY(3.5%);}

    @media(max-width:760px){
      .static-separator-section{
        height:84px;
        padding:0 10px;
      }
      .separator-row{
        width:min(360px,94vw);
        grid-template-columns:1fr auto 1fr;
        gap:16px;
      }
      .separator-img{height:42px;max-width:80vw;}
      .separator-canoa .separator-img{height:44px;}
      .separator-hat   .separator-img{height:50px;}
      .separator-palha .separator-img{height:56px;}
    }


    

    /* ───────── galeria · lightbox (grade + visor tela cheia) ───────── */
    .house-gallery .frame{cursor:zoom-in}
    .house-gallery .frame::after{
      content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(20,13,7,.34));
      opacity:0;transition:opacity .3s ease;pointer-events:none;
    }
    .house-gallery .frame:hover::after{opacity:1}
    .gallery-hint{
      position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:7px;
      padding:8px 12px;border:1px solid rgba(253,248,237,.5);border-radius:2px;
      background:rgba(20,13,7,.4);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
      font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#fdf8ed;
      opacity:0;transform:translateY(4px);transition:opacity .3s ease,transform .3s ease;pointer-events:none;
    }
    .frame.lead-img .gallery-hint{opacity:1;transform:none}
    .house-gallery .frame:hover .gallery-hint{opacity:1;transform:none}

    .lb{
      position:fixed;inset:0;z-index:200;display:none;opacity:0;
      background:rgba(20,13,7,.88);
      backdrop-filter:blur(12px) saturate(1.05);-webkit-backdrop-filter:blur(12px) saturate(1.05);
      transition:opacity .35s ease;overscroll-behavior:contain;
    }
    .lb.open{display:block;opacity:1}
    .lb-head{
      position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;
      padding:18px clamp(16px,4vw,40px) 14px;
      border-bottom:1px solid rgba(183,153,104,.22);
    }
    .lb-ey{font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(233,200,135,.82)}
    .lb-title{font-family:var(--serif);font-style:italic;font-weight:300;color:#fdf4e2;font-size:clamp(22px,3.6vw,32px);line-height:1.04;margin-top:5px}
    .lb-count{margin-top:7px;font-family:var(--sans);font-size:11.5px;letter-spacing:.18em;color:rgba(253,248,237,.58)}
    .lb-x{
      appearance:none;flex:0 0 auto;width:46px;height:46px;border-radius:50%;cursor:pointer;
      border:1px solid rgba(253,248,237,.32);background:rgba(253,248,237,.05);color:#fdf4e2;
      font-size:19px;line-height:1;transition:background .25s,border-color .25s,transform .35s;
    }
    .lb-x:hover{background:rgba(253,248,237,.13);border-color:rgba(253,248,237,.65);transform:rotate(90deg)}

    .lb-scroll{position:absolute;left:0;right:0;top:0;bottom:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-top:96px}
    .lb-grid{column-count:3;column-gap:12px;max-width:1180px;margin:0 auto;padding:8px clamp(16px,4vw,40px) 52px}
    .lb-grid figure{
      break-inside:avoid;margin:0 0 12px;position:relative;overflow:hidden;border-radius:4px;
      cursor:zoom-in;background:#2a1c10;
    }
    .lb-grid img{display:block;width:100%;height:auto;opacity:0;transition:opacity .6s ease,transform .9s ease}
    .lb-grid img.ld{opacity:1}
    .lb-grid figure:hover img{transform:scale(1.045)}
    .lb-grid figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(20,13,7,.55));opacity:0;transition:opacity .3s}
    .lb-grid figure:hover::after{opacity:1}

    .lb-view{position:absolute;inset:0;display:none;flex-direction:column;background:rgba(13,8,4,.94)}
    .lb-view.on{display:flex}
    .lb-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:clamp(8px,2vw,20px)}
    .lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:2px;box-shadow:0 30px 90px rgba(0,0,0,.55);opacity:0;transition:opacity .3s ease}
    .lb-stage img.ld{opacity:1}
    .lb-arrow{
      position:absolute;top:50%;transform:translateY(-50%);z-index:4;
      width:54px;height:54px;border-radius:50%;cursor:pointer;
      border:1px solid rgba(253,248,237,.28);background:rgba(20,13,7,.42);
      backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fdf4e2;font-size:21px;
      display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s;
    }
    .lb-arrow:hover{background:rgba(253,248,237,.15);border-color:rgba(253,248,237,.62)}
    .lb-prev{left:clamp(8px,2vw,26px)} .lb-next{right:clamp(8px,2vw,26px)}
    .lb-foot{
      display:flex;align-items:center;justify-content:space-between;gap:18px;
      padding:14px clamp(16px,4vw,40px);border-top:1px solid rgba(183,153,104,.2);
    }
    .lb-cap{font-family:var(--serif);font-style:italic;color:rgba(253,248,237,.84);font-size:clamp(14px,2.3vw,18px);line-height:1.3}
    .lb-back{
      appearance:none;flex:0 0 auto;cursor:pointer;border-radius:2px;
      border:1px solid rgba(253,248,237,.3);background:transparent;color:#fdf4e2;
      font-family:var(--sans);font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:11px 16px;
      transition:background .25s,border-color .25s;
    }
    .lb-back:hover{background:rgba(253,248,237,.1);border-color:rgba(253,248,237,.55)}
    .lb-back::before{content:"←";margin-right:8px}

    @media(max-width:900px){ .lb-grid{column-count:2} }
    @media(max-width:560px){
      .lb-head{padding:14px 16px 12px}
      .lb-scroll{padding-top:86px}
      .lb-grid{column-count:2;column-gap:8px;padding:4px 14px 40px}
      .lb-grid figure{margin-bottom:8px}
      .lb-arrow{width:42px;height:42px;font-size:17px}
      .lb-x{width:42px;height:42px}
      .lb-back{padding:10px 13px}
    }

    

    /* ───────── v35: topo mobile fino em uma linha + hero final ───────── */

    .hero-location span[data-lang]{
      flex-direction:column;
      align-items:flex-start;
      gap:4px;
    }
    .hero-location strong{
      font:inherit;
      letter-spacing:inherit;
      font-weight:inherit;
    }
    .hero-location small{
      display:block;
      font-family:var(--sans);
      font-size:.62em;
      line-height:1.25;
      letter-spacing:.22em;
      font-weight:500;
      text-transform:uppercase;
      opacity:.86;
    }

    @media(max-width:760px){
      .topbar{
        background:rgba(247,239,224,.98)!important;
        border-bottom:1px solid rgba(120,86,54,.14)!important;
      }
      .topbar-inner{
        min-height:44px!important;
        height:44px!important;
        padding:0 14px!important;
        display:flex!important;
        align-items:center!important;
        justify-content:space-between!important;
        gap:10px!important;
      }
      .brand{
        order:0!important;
        display:flex!important;
        flex-direction:row!important;
        align-items:baseline!important;
        gap:9px!important;
        flex:1 1 auto!important;
        min-width:0!important;
        text-align:left!important;
        line-height:1!important;
      }
      .brand strong{display:inline!important;}
      .brand .brand-loc{display:inline-block!important;}
      .nav-actions{
        order:1!important;
        flex:0 0 auto!important;
        display:flex!important;
        align-items:center!important;
        gap:10px!important;
        font-size:9px!important;
        line-height:1!important;
        letter-spacing:.13em!important;
        color:rgba(65,49,36,.78)!important;
        white-space:nowrap!important;
      }
      .nav-mini{
        display:flex!important;
        align-items:center!important;
        padding-left:7px!important;
        gap:8px!important;
        line-height:1!important;
      }
      .nav-mini::before{
        height:13px!important;
        opacity:.30!important;
      }
      .nav-mini a:not(.contact-top){
        display:none!important;
      }
      .contact-top{
        display:inline-block!important;
        line-height:1!important;
      }
      .lang{
        display:flex!important;
        align-items:center!important;
        gap:6px!important;
        line-height:1!important;
      }
      .lang::after{
        opacity:.22!important;
      }
      .lang button{
        padding:0!important;
        font-size:10.2px!important;
        line-height:1!important;
        letter-spacing:.12em!important;
      }
      .hero{
        min-height:calc(100svh - 42px)!important;
      }
      .hero-inner{
        padding-top:78px!important;
      }
      .hero-kicker{
        max-width:max-content!important;
        padding:6px 0!important;
        border:0!important;
        border-bottom:1px solid rgba(255,255,255,.42)!important;
        background:transparent!important;
        box-shadow:none!important;
        font-size:10.6px!important;
        letter-spacing:.30em!important;
        line-height:1.35!important;
      }
      .hero-location small{
        font-size:.64em!important;
        letter-spacing:.22em!important;
      }
      .hero-sub{
        max-width:12ch!important;
      }
    }

    /* ═══════════ v37 — barra fina em uma linha + menu do hero centrado ═══════════ */
    /* Topbar: thin single row, brand + location inline, right = lang + Contato only */
    .topbar-inner{
      min-height:0 !important;
      padding:9px clamp(16px,3.2vw,46px) !important;
      gap:18px !important;
      align-items:center !important;
      flex-wrap:nowrap !important;
    }
    .brand{
      flex:1 1 auto;min-width:0;
      display:flex !important;flex-direction:row !important;align-items:baseline !important;
      gap:14px !important;overflow:hidden;
    }
    .brand strong{
      flex:0 0 auto;
      font-size:clamp(17px,2.05vw,23px) !important;line-height:1 !important;
      letter-spacing:.012em !important;white-space:nowrap !important;
    }
    .brand .brand-loc{
      position:relative;display:inline-block !important;min-width:0;
      margin:0 !important;padding-left:15px;
      font-family:var(--sans);font-weight:400;
      font-size:clamp(8.5px,1.02vw,10.5px) !important;
      letter-spacing:.26em !important;text-transform:uppercase;color:var(--wood);
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    }
    .brand .brand-loc::before{
      content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
      width:1px;height:14px;
      background:linear-gradient(180deg,transparent,var(--line-wood),transparent);
    }
    .brand .loc-short{display:none}
    .nav-actions{gap:16px !important;flex:0 0 auto}
    .nav-mini{padding-left:18px !important;gap:0 !important}
    .nav-mini::before{height:16px !important}
    .hero{min-height:calc(100svh - 44px)}

    /* Hero menu — centered + a touch larger on desktop */
    @media(min-width:761px){
      .hero-menu{justify-content:center !important;max-width:none !important}
      .hero-menu a{
        font-size:clamp(12.5px,1.45vw,15px) !important;
        letter-spacing:.2em !important;
        padding-bottom:11px !important;
      }
      .hero-menu a:hover{letter-spacing:.23em !important}
    }

    /* Hero kicker — stack the locator cleanly (place over sub-line), only the
       active-language span, so the PT/EN show-hide keeps working. */
    html[lang="pt-BR"] .hero-kicker.hero-location [data-lang="pt"],
    html[lang="en-US"] .hero-kicker.hero-location [data-lang="en"]{
      display:inline-flex !important;flex-direction:column;align-items:flex-start;
      gap:4px;line-height:1.16;
    }
    .hero-kicker.hero-location strong{display:block;line-height:1}
    .hero-kicker.hero-location small{
      display:block;margin:0;opacity:.84;
      font-family:var(--sans);font-weight:500;text-transform:uppercase;
      font-size:.6em;letter-spacing:.2em;
    }

    @media(max-width:760px){
      .topbar-inner{padding:7px 13px !important;gap:10px !important}
      .brand{gap:9px !important;overflow:hidden !important}
      .brand strong{font-size:15px !important;max-width:none !important;white-space:nowrap !important;flex:0 0 auto !important}
      .brand .brand-loc{
        flex:0 1 auto !important;min-width:0 !important;
        font-size:6.8px !important;letter-spacing:.14em !important;padding-left:9px !important;
        white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;
      }
      .brand .brand-loc span{white-space:nowrap !important}
      .brand .brand-loc::before{height:10px !important}
      .nav-actions{font-size:8px !important;gap:10px !important;letter-spacing:.12em !important}
      .nav-mini{padding-left:9px !important}
      .nav-mini::before{height:11px !important}
      .hero{min-height:calc(100svh - 44px)}
    }
    @media(max-width:430px){
      .brand .loc-full{display:none}
      .brand .loc-short{display:inline}
    }
    @media(max-width:390px){
      .brand strong{font-size:14px !important}
      .brand .brand-loc{font-size:6.4px !important;letter-spacing:.10em !important;padding-left:8px !important}
      .nav-actions{font-size:7.4px !important;gap:8px !important}
    }

    /* casas framing line — left-aligned, subtler than the refuge intro */
    .houses-lead{
      margin:4px 0 clamp(34px,5vw,52px) !important;max-width:60ch;
      font-size:clamp(18px,2.8vw,21px) !important;line-height:1.5;color:var(--soft);
    }
    @media(max-width:760px){
      .houses-lead{margin:6px 0 28px !important;font-size:17px !important}
    }

    /* "Em todas as casas" + "Sob medida" — included amenities & on-request services */
    .includes{
      margin-top:clamp(64px,8vw,104px);
      padding-top:clamp(38px,4.6vw,58px);
      border-top:1px solid var(--line);
      display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);
    }
    .incl-col .incl-eyebrow{
      display:block;font-family:var(--serif);font-style:italic;font-weight:400;
      font-size:clamp(22px,2.4vw,27px);color:var(--ink);margin:0 0 18px;line-height:1.1;
    }
    .incl-note{margin:0 0 10px;font-family:var(--sans);font-size:13.5px;color:var(--soft);line-height:1.5;}
    .incl-list{list-style:none;margin:0;padding:0;}
    .incl-list li{
      position:relative;padding:11px 0 11px 24px;border-top:1px solid var(--line);
      font-family:var(--sans);font-size:clamp(14.5px,2.4vw,16px);color:var(--ink-soft);line-height:1.4;
    }
    .incl-list li:last-child{border-bottom:1px solid var(--line);}
    .incl-list li::before{content:"";position:absolute;left:0;top:1.2em;width:11px;height:1px;background:var(--bronze);}
    .incl-list--alt li::before{content:"+";left:1px;top:.78em;width:auto;height:auto;background:none;color:var(--bronze);font-weight:500;font-size:15px;line-height:1;}
    .contact-note{margin:22px 0 0;font-family:var(--sans);font-size:13px;letter-spacing:.02em;color:var(--soft);opacity:.92;}
    @media(max-width:760px){
      .includes{grid-template-columns:1fr;gap:0;margin-top:52px;padding-top:32px;}
      .incl-col + .incl-col{margin-top:30px;}
      .incl-col .incl-eyebrow{font-size:23px;}
      .contact-note{font-size:12.5px;margin-top:18px;}
    }

    /* floating WhatsApp — always within reach for inquiries */
    .wa-float{
      position:fixed;right:clamp(16px,2.4vw,28px);bottom:clamp(16px,2.4vw,28px);z-index:90;
      width:56px;height:56px;border-radius:50%;
      display:flex;align-items:center;justify-content:center;
      background:#25d366;color:#fff;
      box-shadow:0 8px 22px rgba(37,77,40,.30),0 2px 6px rgba(0,0,0,.12);
      transition:transform .25s ease,box-shadow .25s ease;
      opacity:0;animation:waIn .5s ease .9s forwards;
    }
    .wa-float:hover{transform:scale(1.07);box-shadow:0 12px 28px rgba(37,77,40,.38),0 3px 8px rgba(0,0,0,.16);}
    .wa-float svg{display:block}
    @keyframes waIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
    @media(max-width:760px){.wa-float{width:52px;height:52px}}
    @media(prefers-reduced-motion:reduce){.wa-float{animation:none;opacity:1}.wa-float:hover{transform:none}}

  

/* Conversion improvements, shared between rentals and sales. */
.nav-mini{gap:16px!important}
.nav-mini a.section-switch{display:inline-block!important}
.hero-sub{font-size:clamp(25px,3.7vw,48px);max-width:24ch!important}
.hero-menu a.hero-contact{border-bottom:2px solid #fdf8ed}
.sales-intro{max-width:850px}
.sales-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:36px 0}
.sales-facts article{padding:26px;border:1px solid var(--line-wood);border-radius:4px}
.sales-facts h3{font-family:var(--serif);font-size:29px;font-weight:400;margin:0 0 12px}
.sales-facts p{font-family:var(--sans);font-size:14px;line-height:1.8;color:var(--ink-soft)}
a:focus-visible,button:focus-visible{outline:2px solid var(--wood);outline-offset:5px}
.hero a:focus-visible{outline-color:var(--linen)}
@media(max-width:760px){
 .brand .brand-loc{display:none!important}
 .nav-mini{gap:10px!important}
 .hero-sub{max-width:20ch!important;font-size:clamp(27px,6.8vw,38px)!important}
 .sales-facts{grid-template-columns:1fr;gap:14px}
 .house-actions{gap:18px}
}
@media(max-width:360px){.brand strong{font-size:13px!important}.nav-actions{gap:6px!important}.nav-mini{padding-left:6px!important;gap:7px!important}}

/* Rates and individual sales listings */
.rental-pricing{margin:22px 0 12px;padding:18px 0;border-top:1px solid var(--line-wood)}
.rate-start{font-family:var(--sans);font-size:13px;line-height:1.7;margin:0}
.rate-start strong{display:inline-block;font-family:var(--serif);font-size:32px;font-weight:500;margin-left:6px;color:var(--wood-dark)}
.rate-caption,.rate-terms{font-family:var(--sans);font-size:12px;line-height:1.8;color:var(--soft);margin:4px 0 12px}
.rental-pricing summary{cursor:pointer;font-family:var(--sans);font-size:13px;line-height:1.6;padding:12px 0;color:var(--wood-dark)}
.rental-pricing summary:focus-visible{outline:2px solid var(--wood);outline-offset:3px}
.rate-list{margin:8px 0 16px}.rate-list>div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-wood);font:12px/1.6 var(--sans)}
.rate-list dd{margin:0;white-space:nowrap;font-weight:600}
.sale-price{font-family:var(--serif);font-size:28px;color:var(--wood-dark);margin:24px 0 12px}
.house-list{margin-top:30px}
@media(min-width:981px){.house-gallery{align-self:start;height:clamp(520px,50vw,680px)}}
@media(max-width:760px){.rate-list>div{font-size:11px}.rate-start strong{font-size:30px}}
/* v45 visual polish */
.hero-menu a.hero-contact{background:var(--linen)!important;color:var(--wood-dark)!important;border:1px solid var(--linen)!important;border-radius:4px;padding:14px 22px!important;text-align:center;box-shadow:0 4px 20px rgba(20,13,7,.12)}
.hero-menu a.hero-contact:hover{background:var(--sand);border-color:var(--sand);letter-spacing:inherit}
.hero-menu{align-items:center;gap:24px}
.house-top{gap:20px;margin-bottom:24px;align-items:center}
.house-name{line-height:1.08}
.house-desc{line-height:1.75;margin:0 0 26px}
.house-specs{margin:0 0 24px}
.house-specs .row{padding:13px 0}
.house-specs dt{letter-spacing:.14em;line-height:1.6}
.house-actions{gap:16px 24px;margin-top:24px}
.house-actions .house-link{min-height:44px;line-height:1.6;letter-spacing:.11em}
.rental-pricing{padding:22px 0 8px;margin:0}
.rate-start{font-size:13px;display:flex;flex-direction:column;gap:4px}
.rate-start strong{font-size:38px;line-height:1.2;margin:0;font-variant-numeric:tabular-nums}
.rate-caption{font-size:12px;margin:6px 0 12px}
.rental-pricing summary{min-height:44px;padding:12px 0;line-height:1.6}
.rate-list dd{font-variant-numeric:tabular-nums}
.rate-terms{line-height:1.85}
.sale-price{line-height:1.3;margin:26px 0 10px}
footer{padding-bottom:100px}
.contact .contact-small{line-height:1.9}
.wa-float{right:18px;bottom:max(18px,env(safe-area-inset-bottom));box-shadow:0 5px 18px rgba(37,77,40,.22)}
.lb-head{min-height:112px;box-sizing:border-box;background:rgba(20,13,7,.96);align-items:center;padding:16px 24px}
.lb-scroll{padding-top:130px}
.lb-view{padding-top:112px;box-sizing:border-box}
.lb-count{color:var(--linen);font-size:13px;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.lb-x,.lb-arrow{width:52px;height:52px;border:1px solid rgba(253,248,237,.7);background:rgba(20,13,7,.8);color:var(--linen);font-size:27px}
.lb-x{font-size:22px}.lb-x:hover{transform:none}
.lb-back{min-height:44px;line-height:1.5}
.lb-foot{padding-bottom:max(18px,env(safe-area-inset-bottom));gap:14px}
.lb button:focus-visible{outline:2px solid var(--linen);outline-offset:3px}
@media(min-width:981px){.house-gallery{align-self:start;height:clamp(520px,50vw,680px);grid-template-rows:minmax(0,1fr) minmax(0,1fr)}.house-gallery .frame{min-height:0}.house-gallery img{width:100%;height:100%}}
@media(max-width:760px){
 .topbar{height:auto!important;max-height:none!important;overflow:visible!important}
 .topbar-inner{height:auto!important;min-height:87px!important;max-height:none!important;overflow:visible!important;flex-wrap:wrap!important;justify-content:center!important;gap:2px!important;padding:8px 16px!important}
 .brand{flex:1 0 100%!important;justify-content:center!important;overflow:visible!important}
 .brand strong{font-size:20px!important;line-height:1.25!important}
 .nav-actions{width:100%;justify-content:center!important;gap:16px!important;font-size:11px!important}
 .nav-mini{gap:18px!important;padding-left:16px!important}
 .nav-mini a,.nav-mini a.section-switch,.lang button{min-height:44px;display:inline-flex!important;align-items:center;justify-content:center}
 .lang button{min-width:36px;font-size:12px!important;padding:8px 4px!important}
 .hero{min-height:calc(100svh - 87px)!important}
 .hero-inner{padding-bottom:34px!important}
 .hero-menu{display:grid!important;grid-template-columns:1fr 1fr;gap:10px 16px!important;max-width:420px!important;margin-left:auto;margin-right:auto}
 .hero-menu a{font-size:11px!important;line-height:1.45;letter-spacing:.12em!important;min-height:44px;display:flex;align-items:center;justify-content:center}
 .hero-menu a.hero-contact{grid-column:1/-1;padding:13px 16px!important;min-height:48px}
 .house-info{padding:26px 22px 28px}.house-top{gap:16px;margin-bottom:22px}
 .house-name{line-height:1.12}.house-actions{gap:12px;margin-top:20px}
 .house-actions .house-link{font-size:11px;min-height:46px}
 .rate-list>div{font-size:12px;gap:12px}.rate-terms{font-size:12px}
 .contact-box{padding-bottom:36px}.contact-small{gap:16px!important}
 .wa-float{width:48px;height:48px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}
 footer{padding:32px 70px 96px 22px;line-height:1.8;font-size:10px}
 .lb-head{padding:14px 16px;min-height:112px}.lb-title{font-size:26px}.lb-count{font-size:12px}
 .lb-x,.lb-arrow{width:48px;height:48px}.lb-arrow{font-size:28px}
 .lb-scroll{padding-top:128px}.lb-stage{padding:8px}.lb-foot{flex-wrap:wrap;padding:14px 16px max(20px,env(safe-area-inset-bottom))}
 .lb-cap{font-size:17px;flex:1 1 190px}.lb-back{font-size:10px;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){.frame img,.lb-grid img,.lb-stage img{transition:none}}

/* GA4 choice: the Google tag is not loaded until analytics is accepted. */
.privacy-settings{display:inline-block;margin-left:18px;padding:4px 0;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font:inherit;cursor:pointer}
.analytics-consent[hidden]{display:none}
.analytics-consent{position:fixed;z-index:1200;left:18px;bottom:18px;width:min(550px,calc(100vw - 36px));box-sizing:border-box;padding:22px 24px;background:#fdf8ed;color:#3d3129;border:1px solid #b9a78e;box-shadow:0 10px 38px rgba(20,13,7,.22);font:13px/1.65 var(--sans)}
.analytics-consent-copy{margin:0 0 15px}
.analytics-consent-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px}
.analytics-consent-actions button{min-height:42px;padding:9px 14px;border:1px solid var(--wood-dark);background:transparent;color:var(--wood-dark);font:600 11px/1.3 var(--sans);cursor:pointer}
.analytics-consent-actions .analytics-consent-accept{background:var(--wood-dark);color:var(--linen)}
.analytics-consent-link{margin-right:auto;color:var(--wood-dark);text-decoration:underline;text-underline-offset:3px}
.analytics-consent-actions button:focus-visible,.privacy-settings:focus-visible,.analytics-consent-link:focus-visible{outline:2px solid var(--wood-dark);outline-offset:3px}
@media(max-width:760px){.analytics-consent{left:0;bottom:0;width:100%;padding:17px 18px max(18px,env(safe-area-inset-bottom))}.analytics-consent-actions{gap:8px}.analytics-consent-link{width:100%;margin:0}.consent-open .wa-float{display:none}footer .privacy-settings{display:block;margin:10px 0 0}}
