/* Farol Property
   Light-only brand (white is the identity). Shape system: sharp. Images 0 radius, buttons and inputs 2px.
   One accent ("beam"), used only for the logo lamp and tiny markers, never for text. */

:root{
  --paper:oklch(0.993 0.002 95);
  --paper-2:oklch(0.972 0.003 95);
  --paper-3:oklch(0.948 0.004 95);
  --ink:oklch(0.21 0.006 95);
  --ink-2:oklch(0.33 0.006 95);
  --muted:oklch(0.50 0.006 95);
  --line:oklch(0.905 0.004 95);
  --line-2:oklch(0.80 0.005 95);
  --beam:oklch(0.76 0.13 72);
  --r:2px;
  --ease:cubic-bezier(0.22,1,0.36,1);
  --ease-io:cubic-bezier(0.77,0,0.175,1);
  --gutter:clamp(20px,4vw,56px);
  --wrap:min(1360px,100% - 2*var(--gutter));
  --section:clamp(88px,11vw,168px);
  color-scheme:light;
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
body{background:var(--paper);color:var(--ink);font:400 1.0625rem/1.65 "Host Grotesk",system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.wrap{width:var(--wrap);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:1.5px solid var(--ink);outline-offset:4px}

/* Type */
.display{font-size:clamp(2.6rem,5.8vw,5.4rem);font-weight:300;letter-spacing:-0.038em;line-height:1.02;text-wrap:balance}
h1,h2,h3{font-weight:300;text-wrap:balance}
h2,.h2{font-size:clamp(2rem,3.7vw,3.3rem);letter-spacing:-0.03em;line-height:1.06}
h3,.h3{font-size:clamp(1.2rem,1.5vw,1.4rem);font-weight:500;letter-spacing:-0.012em;line-height:1.25}
.lede{font-size:clamp(1.1rem,1.45vw,1.28rem);line-height:1.55;color:var(--ink-2);max-width:48ch;text-wrap:pretty}
.muted{color:var(--muted)}
.label{font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
p{text-wrap:pretty}

/* Buttons and links */
.btn{display:inline-flex;align-items:center;gap:.9rem;padding:1rem 1.15rem 1rem 1.6rem;border-radius:var(--r);background:var(--ink);color:var(--paper);font-weight:500;font-size:.98rem;letter-spacing:.005em;text-decoration:none;white-space:nowrap;transition:transform 160ms var(--ease),background-color 250ms ease}
.btn i{font-size:1.1rem;transition:transform 400ms var(--ease)}
.btn:active{transform:scale(0.98)}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2)}
.link{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:background-size 450ms var(--ease)}
.link i{transition:transform 400ms var(--ease)}
@media (hover:hover) and (pointer:fine){
  .btn:hover{background:var(--ink-2)}
  .btn-line:hover{background:var(--paper-2)}
  .btn:hover i,.link:hover i{transform:translateX(3px)}
  .link:hover{background-size:0 1px;background-position:100% 100%}
}

/* Nav */
.nav{position:sticky;top:0;z-index:30;background:color-mix(in oklch,var(--paper) 0%,transparent);transition:background-color 300ms ease,box-shadow 300ms ease}
.nav.solid{background:color-mix(in oklch,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.2);backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 1px 0 var(--line)}
.nav-in{display:flex;align-items:center;gap:32px;height:76px}
/* Logo D (Lente): FAR + lens + L, PROPERTY underneath */
.logo{display:inline-grid;gap:.42rem;text-decoration:none;line-height:1}
.logo .lw{font-size:1.28rem;font-weight:400;letter-spacing:.3em;white-space:nowrap}
.logo .lens{display:inline-block;position:relative;width:.74em;height:.74em;margin-right:.3em;border:1.5px solid currentColor;border-radius:50%;vertical-align:baseline;transform:translateY(.01em)}
.logo .lens::after{content:"";position:absolute;inset:0;margin:auto;width:.24em;height:.24em;border-radius:50%;background:var(--beam)}
.logo .lp{font-size:.56rem;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--muted);padding-left:.08em}
.nav-links{display:flex;gap:30px;list-style:none;padding:0;margin-left:auto}
.nav-links a{position:relative;text-decoration:none;font-size:.95rem;color:var(--ink-2);padding:6px 0}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform 450ms var(--ease)}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.nav-links a[aria-current="page"]{color:var(--ink)}
.lang{display:flex;gap:2px;font-size:.8rem;font-weight:500;letter-spacing:.08em}
.lang button{padding:8px 7px;color:var(--muted);transition:color 200ms ease}
.lang button[aria-pressed="true"]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.lang button:hover{color:var(--ink)}
.nav .btn{padding:.72rem .9rem .72rem 1.2rem;font-size:.92rem}
.burger{display:none;width:44px;height:44px;position:relative;margin-left:auto}
.burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink);transition:transform 450ms var(--ease-io)}
.burger span:first-child{top:18px}.burger span:last-child{top:25px}
.menu-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:76px 0 0 0;z-index:29;background:var(--paper);padding:32px var(--gutter);display:flex;flex-direction:column;gap:6px;visibility:hidden;opacity:0;transition:opacity 300ms ease,visibility 0s linear 300ms}
.menu-open .mobile-menu{visibility:visible;opacity:1;transition:opacity 300ms ease}
.mobile-menu a{font-size:2.2rem;font-weight:300;letter-spacing:-0.03em;text-decoration:none;padding:8px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateY(16px);transition:opacity 500ms var(--ease),transform 600ms var(--ease)}
.menu-open .mobile-menu a{opacity:1;transform:none}
.menu-open .mobile-menu a:nth-child(2){transition-delay:50ms}.menu-open .mobile-menu a:nth-child(3){transition-delay:100ms}.menu-open .mobile-menu a:nth-child(4){transition-delay:150ms}.menu-open .mobile-menu a:nth-child(5){transition-delay:200ms}
.mobile-menu .lang{margin-top:24px;font-size:1rem}
@media (max-width:980px){
  .nav-links,.nav .lang,.nav .btn{display:none}
  .burger{display:block}
}
@media (min-width:981px){.mobile-menu{display:none}}

/* Hero (home) */
.hero{padding-top:clamp(40px,7vw,96px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:end}
.hero-side{display:grid;gap:28px;padding-bottom:.6rem}
.hero-media{margin-top:clamp(40px,6vw,80px);position:relative;overflow:hidden}
.hero-media img{width:100%;height:clamp(300px,52vw,720px);object-fit:cover;object-position:50% 55%;filter:saturate(.82) contrast(1.02)}
.hero-media figcaption{position:absolute;right:var(--gutter);bottom:18px;font-size:.8rem;color:oklch(0.99 0 0);letter-spacing:.02em;text-shadow:0 1px 12px oklch(0.2 0 0 / .45)}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr;align-items:start}}

/* Page intro (inner pages) */
.intro{padding-block:clamp(56px,9vw,128px) clamp(40px,6vw,72px)}
.intro .display{max-width:16ch}
.intro .lede{margin-top:1.6rem}

/* Section scaffolding */
.section{padding-block:var(--section)}
.section.tint{background:var(--paper-2)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(36px,5vw,64px)}
.section-head h2{max-width:20ch}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* News (home + news page) */
.news-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(32px,5vw,88px)}
.news-feature{display:grid;gap:24px;text-decoration:none}
.news-feature .ph{overflow:hidden;aspect-ratio:16/10;background:var(--paper-3)}
.news-feature .ph img{width:100%;height:100%;object-fit:cover;transition:transform 1200ms var(--ease)}
.news-feature h3{font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:300;letter-spacing:-0.025em;line-height:1.12}
.news-feature p{color:var(--ink-2);max-width:56ch}
.meta{display:flex;gap:14px;align-items:center;font-size:.8rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.meta .cat{color:var(--ink)}
.news-list{display:grid;align-content:start}
.news-row{display:grid;gap:10px;padding:26px 0;border-top:1px solid var(--line);text-decoration:none}
.news-row:last-child{border-bottom:1px solid var(--line)}
.news-row h3{font-weight:400;font-size:1.22rem;line-height:1.3;letter-spacing:-0.01em;transition:color 200ms ease}
.news-row p{font-size:.96rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (hover:hover) and (pointer:fine){
  .news-feature:hover img{transform:scale(1.03)}
  .news-row:hover h3,.news-feature:hover h3{color:var(--ink-2)}
}
@media (max-width:900px){.news-grid{grid-template-columns:1fr}}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(28px,4vw,48px)}
.filters button{padding:.55rem 1rem;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line);font-size:.9rem;color:var(--ink-2);transition:background-color 200ms ease,color 200ms ease,box-shadow 200ms ease,transform 160ms var(--ease)}
.filters button:active{transform:scale(0.97)}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);box-shadow:none}
.news-index{display:grid}
.news-index .news-row{grid-template-columns:11rem minmax(0,1fr) auto;align-items:start;gap:24px;padding:32px 0}
.news-index .news-row .meta{flex-direction:column;align-items:flex-start;gap:6px;padding-top:.3rem}
.news-index .news-row h3{font-size:clamp(1.25rem,1.9vw,1.6rem);font-weight:300;letter-spacing:-0.02em}
.news-index .news-row p{-webkit-line-clamp:3;margin-top:.5rem;max-width:64ch}
.news-index .news-row i{font-size:1.4rem;padding-top:.3rem;transition:transform 400ms var(--ease)}
@media (hover:hover) and (pointer:fine){.news-index .news-row:hover i{transform:translate(3px,-3px)}}
@media (max-width:720px){.news-index .news-row{grid-template-columns:1fr;gap:12px}.news-index .news-row .meta{flex-direction:row}.news-index .news-row i{display:none}}
.empty{padding:48px 0;color:var(--muted);border-top:1px solid var(--line)}
.skeleton{height:1.2rem;background:linear-gradient(90deg,var(--paper-2),var(--paper-3),var(--paper-2));background-size:200% 100%;animation:shimmer 1.4s linear infinite}
@keyframes shimmer{to{background-position:-200% 0}}

/* Article */
.article{padding-block:clamp(48px,7vw,96px) var(--section)}
.article .wrap{max-width:760px}
.article h1{font-size:clamp(2.1rem,4.4vw,3.6rem);letter-spacing:-0.035em;line-height:1.06;margin-top:1.4rem}
.article .lede{margin-top:1.4rem;max-width:none}
.article .body{margin-top:2.4rem;display:grid;gap:1.2rem;font-size:1.1rem;line-height:1.75}
.takeaway{margin-top:2.6rem;padding:28px 32px;background:var(--paper-2)}
.takeaway .label{display:block;margin-bottom:.6rem}
.takeaway p{font-size:1.12rem}
.sources{margin-top:2.2rem;padding-top:1.4rem;border-top:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.sources ul{list-style:none;padding:0;margin-top:.5rem;display:grid;gap:.3rem}
.sources a{color:var(--ink-2)}
.back{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--muted);font-size:.95rem}
.back:hover{color:var(--ink)}
.article-cta{margin-top:3.2rem;display:flex;gap:16px;flex-wrap:wrap;align-items:center}

/* Paths */
.paths{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.path{display:grid;gap:22px;text-decoration:none}
.path .ph{overflow:hidden}
.path img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.85);transition:transform 1200ms var(--ease)}
.path:nth-child(2){margin-top:clamp(0px,10vw,160px)}
.path:nth-child(2) img{aspect-ratio:4/5}
.path h3{font-size:clamp(1.5rem,2.3vw,2rem);font-weight:300;letter-spacing:-0.025em}
.path p{color:var(--ink-2);max-width:44ch}
@media (hover:hover) and (pointer:fine){.path:hover img{transform:scale(1.03)}}
@media (max-width:760px){.paths{grid-template-columns:1fr}.path:nth-child(2){margin-top:16px}.path:nth-child(2) img{aspect-ratio:4/3}}

/* Regions strip */
.strip-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:clamp(32px,4vw,56px)}
.strip-nav{display:flex;gap:8px}
.strip-nav button{width:48px;height:48px;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);display:grid;place-items:center;font-size:1.15rem;transition:background-color 200ms ease,transform 160ms var(--ease)}
.strip-nav button:active{transform:scale(0.96)}
.strip-nav button:hover{background:var(--paper-2)}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(260px,28vw,380px);gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-inline:max(var(--gutter),calc((100% - 1360px)/2));scroll-padding-inline:max(var(--gutter),calc((100% - 1360px)/2))}
.strip::-webkit-scrollbar{display:none}
.region{scroll-snap-align:start;display:grid;gap:16px}
.region .ph{overflow:hidden}
.region img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.8);transition:transform 1200ms var(--ease)}
.region h3{font-weight:400;font-size:1.3rem}
.region p{font-size:.96rem;color:var(--muted)}
@media (hover:hover) and (pointer:fine){.region:hover img{transform:scale(1.03)}}

/* Guides list (home teaser) */
.guide-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,80px)}
.guide-link{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:start;padding:26px 0;border-top:1px solid var(--line);text-decoration:none}
.guide-link h3{font-weight:400}
.guide-link p{font-size:.95rem;color:var(--muted);margin-top:.35rem}
.guide-link i{font-size:1.3rem;transition:transform 400ms var(--ease)}
@media (hover:hover) and (pointer:fine){.guide-link:hover i{transform:translate(3px,-3px)}}
@media (max-width:760px){.guide-links{grid-template-columns:1fr}}

/* Guides page */
.guides-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:clamp(32px,6vw,112px);align-items:start}
.toc{position:sticky;top:110px;display:grid;gap:2px;font-size:.93rem}
.toc a{text-decoration:none;color:var(--muted);padding:7px 0 7px 14px;box-shadow:inset 1px 0 0 var(--line);transition:color 200ms ease,box-shadow 200ms ease}
.toc a:hover,.toc a.on{color:var(--ink);box-shadow:inset 1.5px 0 0 var(--ink)}
.guide{padding-block:clamp(40px,5vw,64px);border-top:1px solid var(--line)}
.guide:first-child{border-top:0;padding-top:0}
.guide h2{font-size:clamp(1.7rem,2.8vw,2.4rem);max-width:24ch}
.guide .gb{margin-top:1.4rem;display:grid;gap:1rem;max-width:66ch;color:var(--ink-2)}
.guide ul{padding-left:1.15rem;display:grid;gap:.45rem}
.guide li::marker{color:var(--muted)}
.guide .note{font-size:.95rem;color:var(--muted);padding-top:.4rem}
@media (max-width:900px){.guides-layout{grid-template-columns:1fr}.toc{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compare */
.reno{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:center}
.reno p{color:var(--ink-2);margin-top:1.2rem;max-width:44ch}
.reno .disclose{font-size:.92rem;color:var(--muted);margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.compare{position:relative;aspect-ratio:16/10;overflow:hidden;user-select:none;--pos:50%}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.compare .after{clip-path:inset(0 0 0 var(--pos))}
.compare .handle{position:absolute;top:0;bottom:0;left:var(--pos);width:1px;background:var(--paper);pointer-events:none}
.compare .knob{position:absolute;top:50%;left:50%;width:48px;height:48px;border-radius:50%;background:var(--paper);display:grid;place-items:center;transform:translate(-50%,-50%);font-size:1.1rem;box-shadow:0 8px 30px oklch(0.2 0.01 95 / .18)}
.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.compare .tag{position:absolute;top:14px;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:.4em .7em;background:var(--paper);pointer-events:none}
.compare .tag.l{left:14px}.compare .tag.r{right:14px}
@media (max-width:860px){.reno{grid-template-columns:1fr}}

/* Partners */
.partners{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,112px);align-items:start}
.partners p{color:var(--ink-2);margin-top:1.2rem;max-width:44ch}
.partners .disclose{font-size:.92rem;color:var(--muted);margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.partner-list{list-style:none;padding:0;border-bottom:1px solid var(--line)}
.partner-list li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:18px;padding:28px 0;border-top:1px solid var(--line)}
.partner-list i{font-size:1.7rem;color:var(--ink)}
.partner-list h3{font-weight:400}
.partner-list p{margin-top:.4rem;font-size:.97rem;color:var(--ink-2);max-width:48ch}
@media (max-width:860px){.partners{grid-template-columns:1fr}}

/* WhatsApp: floating button */
.wa-float{position:fixed;right:clamp(16px,2.5vw,32px);bottom:clamp(16px,2.5vw,32px);z-index:28;display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.15rem .8rem .95rem;border-radius:var(--r);background:var(--ink);color:var(--paper);text-decoration:none;font-weight:500;font-size:.93rem;box-shadow:0 10px 30px oklch(0.2 0.01 95 / .18);transition:transform 160ms var(--ease),background-color 250ms ease,opacity 500ms var(--ease)}
.wa-float i{font-size:1.35rem}
.wa-float:active{transform:scale(0.97)}
@media (hover:hover) and (pointer:fine){.wa-float:hover{background:var(--ink-2)}}
@media (max-width:640px){.wa-float{padding:0;width:56px;height:56px;justify-content:center;border-radius:50%}.wa-float span{display:none}.wa-float i{font-size:1.6rem}}
@keyframes waIn{from{opacity:0;transform:translateY(12px)}}
@media (prefers-reduced-motion:no-preference){.wa-float{animation:waIn 700ms var(--ease) 1.2s both}}
.menu-open .wa-float{opacity:0;pointer-events:none}

/* Statement */
.statement{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:center}
.statement img{width:100%;aspect-ratio:4/5;object-fit:cover}
.statement blockquote{font-size:clamp(1.7rem,3.2vw,2.7rem);font-weight:300;letter-spacing:-0.028em;line-height:1.18}
.statement p{margin-top:1.6rem;color:var(--ink-2);max-width:48ch}
.statement .link{margin-top:2rem}
@media (max-width:860px){.statement{grid-template-columns:1fr}.statement img{aspect-ratio:4/3}}

/* About page */
.about-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:end}
.about-hero img{width:100%;aspect-ratio:4/5;object-fit:cover}
.objective{max-width:980px}
.objective .h2{font-size:clamp(1.9rem,3.6vw,3.1rem)}
.principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.principle{padding:clamp(28px,4vw,48px) clamp(0px,3vw,40px) clamp(28px,4vw,48px) 0;border-bottom:1px solid var(--line)}
.principle:nth-child(odd){border-right:1px solid var(--line)}
.principle:nth-child(even){padding-left:clamp(20px,3vw,40px)}
.principle h3{font-size:clamp(1.3rem,1.9vw,1.6rem);font-weight:400}
.principle p{margin-top:.7rem;color:var(--ink-2);max-width:44ch}
@media (max-width:760px){.principles{grid-template-columns:1fr}.principle:nth-child(odd){border-right:0}.principle:nth-child(even){padding-left:0}}
.name-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.name-story img{width:100%;aspect-ratio:3/2;object-fit:cover;filter:saturate(.82)}
.name-story p{color:var(--ink-2);margin-top:1.2rem;max-width:46ch}
@media (max-width:860px){.name-story,.about-hero{grid-template-columns:1fr}}
.steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(16px,2.5vw,32px)}
.steps li{padding-top:20px;border-top:1px solid var(--ink)}
.steps b{display:block;font-weight:500;font-size:1.1rem}
.steps p{margin-top:.6rem;font-size:.96rem;color:var(--ink-2)}
@media (max-width:1000px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px)}
.facts div{display:grid;gap:.5rem}
.facts p{color:var(--ink-2);font-size:.98rem}
@media (max-width:860px){.facts{grid-template-columns:1fr}}

/* Contact */
.contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,112px)}
.contact-grid .lede{margin-top:1.2rem}
.contact-notes{margin-top:2rem;display:grid;gap:.7rem;list-style:none;padding:0;color:var(--ink-2)}
.contact-notes li{display:flex;gap:.7rem;align-items:center}
.contact-notes i{font-size:1.1rem}
form{display:grid;grid-template-columns:1fr 1fr;gap:22px 18px}
.field{display:grid;gap:8px}
.field.full{grid-column:1/-1}
.field label,.field .lbl{font-size:.88rem;font-weight:500;color:var(--ink)}
input,select,textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--paper);border:0;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);padding:.9rem 1rem;width:100%;transition:box-shadow 200ms ease}
input::placeholder,textarea::placeholder{color:oklch(0.60 0.005 95)}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--ink)}
textarea{min-height:140px;resize:vertical}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips input{position:absolute;opacity:0;width:1px;height:1px}
.chips label{font-weight:400;font-size:.95rem;padding:.6rem 1.05rem;border-radius:var(--r);box-shadow:inset 0 0 0 1px var(--line-2);cursor:pointer;transition:background-color 200ms ease,color 200ms ease,transform 160ms var(--ease)}
.chips label:active{transform:scale(0.97)}
.chips input:checked+label{background:var(--ink);color:var(--paper);box-shadow:none}
.chips input:focus-visible+label{outline:1.5px solid var(--ink);outline-offset:3px}
.consent{grid-column:1/-1;display:flex;gap:.75rem;align-items:flex-start;font-size:.9rem;color:var(--ink-2)}
.consent input{width:18px;height:18px;flex:none;margin-top:.2em;accent-color:var(--ink);box-shadow:none;padding:0}
.form-foot{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.form-msg{font-size:.95rem}
.form-msg.err{color:oklch(0.50 0.16 30)}
.sent{grid-column:1/-1;padding:2rem 0}
.sent h3{font-size:2rem;font-weight:300;letter-spacing:-0.02em}
.sent p{color:var(--ink-2);margin-top:.6rem}
.hp{display:none}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
@media (max-width:520px){form{grid-template-columns:1fr}}

/* Footer */
.footer{background:var(--paper-2);padding-block:clamp(56px,7vw,96px) 40px;font-size:.93rem;color:var(--ink-2)}
.footer-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px}
.footer-top p{margin-top:1rem;max-width:34ch;color:var(--muted)}
.footer h4{font-size:.76rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}
.footer ul{list-style:none;padding:0;display:grid;gap:.55rem}
.footer a{text-decoration:none}
.footer a:hover{color:var(--ink)}
.footer .lang{font-size:.93rem;letter-spacing:.04em;gap:6px}
.footer .lang button{padding:2px 0}
.footer-base{margin-top:clamp(40px,5vw,72px);padding-top:24px;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:.84rem;color:var(--muted)}
.footer-base p{max-width:80ch}
@media (max-width:860px){.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/-1}}

/* Motion */
@media (prefers-reduced-motion:no-preference){
  .rise{opacity:0;transform:translateY(18px);animation:rise 900ms var(--ease) forwards;animation-delay:calc(var(--i,0)*90ms + 60ms)}
  .hero-media img{transform:scale(1.05);animation:settle 1800ms var(--ease) 100ms forwards}
  @keyframes rise{to{opacity:1;transform:none}}
  @keyframes settle{to{transform:scale(1)}}
  .reveal{opacity:0;transform:translateY(22px);transition:opacity 900ms var(--ease),transform 900ms var(--ease)}
  .reveal.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}
