:root{
--white:#FFFFFF;
--paper:#FAFAFA;
--mist:#F0F0F0;
--mist-2:#E4E4E4;
--line:#D6D6D6;
--line-l:#EAEAEA;
--text:#0F172A;
--text-mid:#262626;
--text-soft:#595959;
--text-faint:#6F6F6F;
--amber:#141414;
--amber-l:#3A3A3A;
--amber-pale:#F0F0F0;
--amber-deep:#000000;
--amber-faint:#F5F5F5;
--green-ok:#22855A;
--green-bg:#EAF5EE;
--red-no:#C0392B;
--red-bg:#FCECEA;
--sans:'Inter Tight',system-ui,-apple-system,sans-serif;
--mono:'JetBrains Mono','Courier New',monospace;
--ease:cubic-bezier(0.25,0,0.15,1);
}
*,*::before,*::after{
box-sizing:border-box;
margin:0;
padding:0;
}
html{
scroll-behavior:smooth;
font-size:16px;
}
body{
font-family:var(--sans);
font-size:1rem;
line-height:1.65;
color:var(--text);
background:var(--white);
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
-webkit-tap-highlight-color:transparent;
}
a,button,.btn{-webkit-tap-highlight-color:transparent;}
img{
display:block;
max-width:100%;
}
a{
color:inherit;
text-decoration:none;
}
button{
font-family:var(--sans);
cursor:pointer;
border:none;
background:none;
}
.wrap{
max-width:1280px;
margin:0 auto;
padding:0 48px;
}
.wrap-mid{
max-width:1000px;
margin:0 auto;
padding:0 48px;
}
.wrap-tight{
max-width:760px;
margin:0 auto;
padding:0 48px;
}
.sec{padding:64px 0;}
.sec-sm{padding:36px 0;}
.sec-lg{padding:96px 0;}
.eyebrow{
display:inline-flex;
align-items:center;
gap:10px;
font-size:0.68rem;
font-weight:600;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--amber);
margin-bottom:22px;
}
.eyebrow::before{display:none;}
h1{
font-family:var(--sans);
font-size:clamp(2.4rem,4.8vw,4.8rem);
font-weight:300;
line-height:1.1;
letter-spacing:-0.01em;
color:var(--text);
}
h2{
font-family:var(--sans);
font-size:clamp(1.9rem,3vw,3.4rem);
font-weight:300;
line-height:1.15;
letter-spacing:-0.01em;
color:var(--text);
}
h3{
font-family:var(--sans);
font-size:0.95rem;
font-weight:600;
line-height:1.3;
color:var(--text);
}
.lead{
font-size:1.1rem;
line-height:1.72;
color:var(--text-mid);
}
.body-text{
font-size:0.95rem;
line-height:1.72;
color:var(--text-mid);
}
.caption{
font-size:0.78rem;
color:var(--text-soft);
line-height:1.5;
}
.btn{
display:inline-flex;
align-items:center;
gap:9px;
font-size:0.875rem;
font-weight:600;
letter-spacing:0.005em;
padding:13px 26px;
transition:all 0.2s var(--ease);
white-space:nowrap;
cursor:pointer;
}
.btn-amber{
background:var(--amber);
color:#fff;
}
.btn-amber:hover{
background:var(--amber-deep);
}
.btn-outline{
background:transparent;
color:var(--text);
border:1.5px solid var(--line);
}
.btn-outline:hover{
border-color:var(--amber);
color:var(--amber);
}
.btn-outline-amber{
background:transparent;
color:var(--amber);
border:1.5px solid var(--amber);
}
.btn-outline-amber:hover{
background:var(--amber);
color:#fff;
}
.btn-ghost-white{
background:transparent;
color:#fff;
border:1.5px solid rgba(255,255,255,0.45);
}
.btn-ghost-white:hover{
border-color:#fff;
background:rgba(255,255,255,0.08);
}
.status-pill{
display:inline-flex;
align-items:center;
gap:7px;
font-size:0.72rem;
font-weight:600;
letter-spacing:0.06em;
text-transform:uppercase;
padding:5px 12px;
background:var(--green-bg);
color:var(--green-ok);
border:1px solid rgba(34,133,90,0.25);
}
.status-dot{
width:6px;
height:6px;
border-radius:50%;
background:var(--green-ok);
animation:pulse 2.5s ease-in-out infinite;
}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
.phase-badge{
display:inline-block;
font-family:var(--mono);
font-size:0.62rem;
font-weight:500;
letter-spacing:0.1em;
text-transform:uppercase;
padding:4px 10px;
}
.b-done{
background:var(--green-bg);
color:var(--green-ok);
}
.b-active{
background:var(--amber-pale);
color:var(--amber-deep);
}
.b-next{
background:var(--mist);
color:var(--text-soft);
}
.nav{
position:sticky;
top:0;
z-index:200;
background:rgba(255,255,255,0.96);
backdrop-filter:blur(20px);
-webkit-backdrop-filter:blur(20px);
border-bottom:1px solid var(--line-l);
padding-left:env(safe-area-inset-left);
padding-right:env(safe-area-inset-right);
transition:box-shadow 0.2s;
}
.nav.scrolled{
box-shadow:0 2px 20px rgba(28,23,16,0.08);
}
.nav-inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:28px;
height:68px;
}
.nav-logo{
display:flex;
align-items:center;
gap:10px;
font-family:var(--sans);
font-size:0.85rem;
font-weight:600;
text-transform:uppercase;
color:var(--text);
letter-spacing:0.03em;
white-space:nowrap;
flex-shrink:0;
}
.logo-mark{
width:32px;
height:32px;
background:var(--amber);
display:flex;
align-items:center;
justify-content:center;
}
.logo-img{
width:32px;
height:32px;
object-fit:contain;
}
.nav-links{
display:flex;
list-style:none;
gap:2px;
align-items:center;
}
.nav-links a{
font-size:0.875rem;
font-weight:500;
color:var(--text-mid);
padding:8px 14px;
transition:all 0.15s;
white-space:nowrap;
}
.nav-links a:hover{
color:var(--text);
background:var(--paper);
}
.nav-actions{
display:flex;
gap:10px;
align-items:center;
}
.nav-process{
display:flex;
align-items:center;
gap:7px;
font-size:0.75rem;
color:var(--text-soft);
margin-right:8px;
}
.hero{
display:grid;
grid-template-columns:52% 48%;
min-height:78vh;
align-items:stretch;
}
.hero-left{
background:var(--white);
display:flex;
flex-direction:column;
justify-content:center;
padding:48px 56px 40px 48px;
position:relative;
}
.hero-left::after{
content:'';
position:absolute;
right:-1px;
top:60px;
bottom:60px;
width:1px;
background:var(--line-l);
}
.hero-left .eyebrow{margin-bottom:28px;}
.hero-left h1{
margin-bottom:28px;
max-width:560px;
}
.hero-sub{
font-size:1.15rem;
font-weight:500;
color:var(--text-mid);
margin-bottom:20px;
max-width:540px;
line-height:1.5;
letter-spacing:-0.01em;
}
.hero-left .lead{
margin-bottom:32px;
max-width:520px;
}
.hero-actions{
display:flex;
gap:12px;
flex-wrap:wrap;
margin-bottom:44px;
}
.hero-kpis{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:1px;
background:var(--line-l);
border-top:1px solid var(--line-l);
margin-top:auto;
}
.kpi-cell{
background:var(--white);
padding:22px 0 8px;
}
.kpi-n{
font-family:var(--sans);
font-size:1.85rem;
font-weight:400;
color:var(--amber);
line-height:1;
letter-spacing:-0.02em;
margin-bottom:5px;
}
.kpi-n sup{
font-size:1rem;
vertical-align:super;
color:var(--amber-l);
}
.kpi-n sub{
font-size:0.85rem;
vertical-align:baseline;
color:var(--amber-l);
}
.kpi-l{
font-size:0.72rem;
color:var(--text-soft);
line-height:1.4;
}
.hero-right{
position:relative;
overflow:hidden;
min-height:600px;
background:var(--mist);
}
.hero-photo{
position:absolute;
inset:0;
overflow:hidden;
}
.hero-photo img{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
object-position:center 30%;
}
.hero-photo::after{
content:'';
position:absolute;
inset:0;
background:linear-gradient(135deg,rgba(28,23,16,0.18) 0%,transparent 60%);
}
.site-card{
position:relative;
z-index:2;
margin:28px;
background:rgba(247,244,239,0.96);
backdrop-filter:blur(12px);
padding:32px 28px;
border-left:3px solid var(--amber);
align-self:center;
max-width:320px;
}
.sc-header{
display:flex;
justify-content:space-between;
align-items:flex-start;
margin-bottom:24px;
}
.sc-tag{
font-family:var(--mono);
font-size:0.62rem;
letter-spacing:0.16em;
text-transform:uppercase;
color:var(--text-soft);
}
.sc-coords{
font-family:var(--mono);
font-size:1.4rem;
font-weight:400;
color:var(--amber);
letter-spacing:-0.01em;
line-height:1.2;
margin-bottom:5px;
}
.sc-address{
font-family:var(--mono);
font-size:0.68rem;
color:var(--text-soft);
letter-spacing:0.04em;
margin-bottom:24px;
}
.sc-rows{
display:flex;
flex-direction:column;
}
.sc-row{
display:flex;
justify-content:space-between;
align-items:baseline;
padding:9px 0;
border-bottom:1px solid var(--line-l);
gap:10px;
}
.sc-row:first-child{
border-top:1px solid var(--line-l);
}
.sc-k{
font-family:var(--mono);
font-size:0.65rem;
letter-spacing:0.1em;
text-transform:uppercase;
color:var(--text-soft);
white-space:nowrap;
flex-shrink:0;
}
.sc-v{
font-family:var(--mono);
font-size:0.78rem;
color:var(--text-mid);
text-align:right;
font-weight:500;
}
.sc-v.hi{
color:var(--amber);
font-weight:700;
}
.sc-v.ok{
color:var(--green-ok);
font-weight:700;
}
.sc-footer{
margin-top:20px;
padding-top:16px;
border-top:1px solid var(--line-l);
font-family:var(--mono);
font-size:0.62rem;
color:var(--text-faint);
line-height:1.7;
}
.metrics-bar{
background:var(--paper);
border-bottom:1px solid var(--line-l);
}
.metrics-row{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:1px;
background:var(--line-l);
}
.metric-cell{
background:var(--paper);
padding:28px 28px 24px;
position:relative;
}
.metric-cell::before{
content:'';
position:absolute;
top:0;
left:0;
right:0;
height:2px;
background:transparent;
transition:background 0.2s;
}
.metric-cell:hover::before{
background:var(--amber);
}
.met-n{
font-family:var(--sans);
font-size:2.4rem;
font-weight:400;
color:var(--amber);
line-height:1;
letter-spacing:-0.02em;
margin-bottom:9px;
}
.met-n sub{
font-size:1.1rem;
vertical-align:baseline;
color:var(--amber-l);
}
.met-n sup{
font-size:1rem;
vertical-align:super;
color:var(--amber-l);
}
.met-l{
font-size:0.78rem;
color:var(--text-soft);
line-height:1.5;
}
.thesis-layout{
display:grid;
grid-template-columns:5fr 7fr;
gap:88px;
align-items:start;
}
.thesis-blockquote{
font-family:var(--sans);
font-size:1.25rem;
font-weight:300;
font-style:italic;
color:var(--text);
line-height:1.55;
padding-left:24px;
border-left:2px solid var(--amber);
margin:32px 0;
}
.shifts{
display:flex;
flex-direction:column;
}
.shift{
display:grid;
grid-template-columns:80px 1fr;
gap:20px;
padding:36px 0;
border-bottom:1px solid var(--line-l);
align-items:start;
}
.shift:first-child{
border-top:1px solid var(--line-l);
}
.shift-num{
font-family:var(--sans);
font-size:2.8rem;
font-weight:300;
color:var(--amber);
line-height:1;
letter-spacing:-0.03em;
}
.shift h3{margin-bottom:7px;}
.shift p{
font-size:0.875rem;
color:var(--text-mid);
line-height:1.65;
}
.shift-cite{
font-size:0.70rem;
color:var(--text-soft);
margin-top:8px;
font-style:italic;
}
.stp-banner{
background:var(--text);
padding:40px 0;
--amber:rgba(255,255,255,0.85);
--amber-l:rgba(255,255,255,0.7);
}
.stp-inner{
display:grid;
grid-template-columns:1fr auto 1fr auto 1fr;
gap:0;
align-items:center;
}
.stp-col{
padding:0 48px;
text-align:center;
}
.stp-col:first-child{padding-left:0;}
.stp-col:last-child{padding-right:0;}
.stp-label{
font-family:var(--mono);
font-size:0.65rem;
font-weight:500;
letter-spacing:0.16em;
text-transform:uppercase;
color:rgba(255,255,255,0.38);
margin-bottom:14px;
}
.stp-value{
font-family:var(--sans);
font-size:clamp(2.2rem,4vw,4rem);
font-weight:400;
line-height:1;
letter-spacing:-0.025em;
color:rgba(255,255,255,0.55);
}
.stp-value.highlight{color:var(--amber);}
.stp-sub{
font-size:0.78rem;
color:rgba(255,255,255,0.35);
margin-top:10px;
line-height:1.5;
}
.stp-divider{
width:1px;
height:80px;
background:rgba(255,255,255,0.1);
flex-shrink:0;
}
.stp-vs{
font-family:var(--mono);
font-size:0.70rem;
font-weight:500;
letter-spacing:0.14em;
text-transform:uppercase;
color:rgba(255,255,255,0.22);
padding:0 32px;
text-align:center;
}
.stp-headline{
text-align:center;
margin-bottom:44px;
font-family:var(--mono);
font-size:0.68rem;
letter-spacing:0.16em;
text-transform:uppercase;
color:rgba(255,255,255,0.3);
}
.photo-stmt{
display:grid;
grid-template-columns:1fr 1fr;
min-height:580px;
}
.ps-bg{
background-size:cover;
background-position:center;
position:relative;
}
.ps-bg::after{
content:'';
position:absolute;
inset:0;
background:linear-gradient(to right,rgba(28,23,16,0.25) 0%,transparent 100%);
}
.ps-panel{
background:var(--text);
padding:64px 56px;
display:flex;
flex-direction:column;
justify-content:center;
border-left:4px solid rgba(255,255,255,0.4);
--amber:rgba(255,255,255,0.85);
--amber-l:rgba(255,255,255,0.7);
}
.ps-panel .eyebrow{
color:var(--amber-l);
}
.ps-panel .eyebrow::before{
background:var(--amber);
}
.ps-panel h2{
margin:8px 0 20px;
color:#fff;
}
.ps-panel .body-text{
margin-bottom:28px;
color:rgba(255,255,255,0.80);
}
.ps-stats{
display:grid;
grid-template-columns:1fr 1fr;
gap:1px;
background:var(--line-l);
margin-bottom:28px;
}
.ps-stat{
background:rgba(255,255,255,0.06);
padding:18px 16px;
border:1px solid rgba(255,255,255,0.1);
}
.ps-stat-n{
font-family:var(--sans);
font-size:1.4rem;
font-weight:400;
color:var(--amber-l);
line-height:1;
letter-spacing:-0.01em;
margin-bottom:4px;
}
.ps-stat-l{
font-size:0.72rem;
color:var(--text-soft);
line-height:1.4;
}
.pci-tags{
display:flex;
gap:6px;
flex-wrap:wrap;
}
.pci-tag{
font-family:var(--mono);
font-size:0.68rem;
font-weight:500;
padding:4px 10px;
background:var(--amber-pale);
color:var(--amber-deep);
letter-spacing:0.06em;
}
.ai-layout{
display:grid;
grid-template-columns:6fr 5fr;
gap:72px;
align-items:start;
}
.cmp-table{
width:100%;
border-collapse:collapse;
font-size:0.875rem;
margin-top:36px;
}
.cmp-table th{
font-size:0.70rem;
font-weight:700;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--text-soft);
padding:12px 16px;
border-bottom:2px solid var(--line);
text-align:left;
background:var(--paper);
}
.cmp-table th:first-child{width:38%;}
.cmp-table td{
padding:12px 16px;
border-bottom:1px solid var(--line-l);
font-size:0.875rem;
color:var(--text-mid);
}
.cmp-table tr:hover td{
background:var(--amber-faint);
}
.td-y{
color:var(--green-ok) !important;
font-weight:600;
}
.td-n{
color:var(--red-no) !important;
font-weight:500;
}
.td-ok{
color:var(--amber) !important;
font-weight:500;
}
.td-ours{
font-weight:700;
color:var(--text) !important;
}
.pillars{
display:flex;
flex-direction:column;
gap:0;
}
.pillar{
padding:28px 0;
border-bottom:1px solid var(--line-l);
}
.pillar:first-child{
border-top:1px solid var(--line-l);
}
.pillar h3{margin-bottom:8px;}
.pillar p{
font-size:0.875rem;
color:var(--text-mid);
line-height:1.65;
}
.land-layout{
display:grid;
grid-template-columns:5fr 7fr;
gap:72px;
align-items:start;
}
.land-photo-block{
position:relative;
background:var(--mist);
overflow:hidden;
}
.land-photo-block img{
width:100%;
height:480px;
object-fit:cover;
object-position:center;
display:block;
}
.land-overlay{
background:rgba(10,10,10,0.92);
padding:24px 28px;
--amber:rgba(255,255,255,0.85);
--amber-l:rgba(255,255,255,0.7);
}
.lo-head{
display:flex;
justify-content:space-between;
font-family:var(--mono);
font-size:0.62rem;
letter-spacing:0.12em;
text-transform:uppercase;
color:rgba(255,255,255,0.45);
margin-bottom:12px;
}
.lo-title{
font-family:var(--sans);
font-size:1.15rem;
font-weight:400;
color:#fff;
margin-bottom:4px;
}
.lo-sub{
font-family:var(--mono);
font-size:0.68rem;
color:rgba(255,255,255,0.45);
margin-bottom:20px;
}
.lo-rows{
display:flex;
flex-direction:column;
gap:0;
}
.lo-row{
display:flex;
justify-content:space-between;
align-items:baseline;
padding:8px 0;
border-bottom:1px solid rgba(255,255,255,0.08);
}
.lo-k{
font-family:var(--mono);
font-size:0.62rem;
letter-spacing:0.1em;
text-transform:uppercase;
color:rgba(255,255,255,0.38);
}
.lo-v{
font-family:var(--mono);
font-size:0.75rem;
color:rgba(255,255,255,0.6);
font-weight:500;
text-align:right;
}
.lo-v.lo-hi{
color:var(--amber-l);
font-weight:700;
}
.c-rows{
display:flex;
flex-direction:column;
gap:0;
margin-top:32px;
}
.c-row{
display:flex;
justify-content:space-between;
align-items:baseline;
padding:13px 0;
border-bottom:1px solid var(--line-l);
font-size:0.875rem;
gap:16px;
}
.c-row:first-child{
border-top:1px solid var(--line-l);
}
.c-k{
color:var(--text-soft);
flex-shrink:0;
}
.c-v{
color:var(--text);
font-weight:500;
text-align:right;
}
.note-box{
margin-top:28px;
padding:20px 20px 20px 18px;
background:var(--amber-faint);
border-left:3px solid var(--amber);
font-size:0.875rem;
color:var(--text-mid);
line-height:1.65;
}
.doc-refs{
margin-top:24px;
font-family:var(--mono);
font-size:0.68rem;
color:var(--text-soft);
line-height:2.0;
display:flex;
flex-direction:column;
gap:2px;
}
.doc-ref{
display:flex;
gap:10px;
}
.doc-ref-n{
color:var(--amber);
flex-shrink:0;
}
.location-block{
position:relative;
overflow:hidden;
}
.location-photo{
min-height:520px;
background-image:url('/assets/img/photos/terreno/location_real_bg.jpg');
background-size:cover;
background-position:center;
position:relative;
}
.location-photo::before{
content:'';
position:absolute;
inset:0;
background:linear-gradient(to left,rgba(28,23,16,0.6) 0%,rgba(28,23,16,0.15) 55%,transparent 100%);
}
.location-card{
position:absolute;
right:48px;
top:50%;
transform:translateY(-50%);
background:rgba(247,244,239,0.97);
padding:40px 40px;
max-width:400px;
border-right:3px solid var(--amber);
}
.location-card .eyebrow{margin-bottom:16px;}
.location-card h2{
font-size:clamp(1.4rem,2vw,2rem);
margin-bottom:12px;
}
.lat-rows{
display:flex;
flex-direction:column;
margin-top:24px;
}
.lat-row{
display:flex;
justify-content:space-between;
align-items:baseline;
padding:10px 0;
border-bottom:1px solid var(--line-l);
font-size:0.875rem;
}
.lat-row:first-child{
border-top:1px solid var(--line-l);
}
.lat-city{
color:var(--text-mid);
}
.lat-ms{
font-family:var(--mono);
font-weight:600;
color:var(--amber);
}
.phases-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:2px;
background:var(--line-l);
margin-top:52px;
}
.phase{
background:var(--white);
padding:36px 28px;
position:relative;
}
.phase-line{
position:absolute;
top:0;
left:0;
right:0;
height:3px;
background:var(--mist-2);
}
.phase-line.done{
background:var(--amber);
}
.phase-line.active{
background:var(--amber);
opacity:0.5;
}
.phase-num{
font-family:var(--mono);
font-size:0.65rem;
font-weight:500;
letter-spacing:0.14em;
text-transform:uppercase;
color:var(--text-soft);
margin-bottom:18px;
}
.phase h3{
font-family:var(--sans);
font-size:1.05rem;
font-weight:600;
color:var(--text);
margin-bottom:10px;
line-height:1.35;
}
.phase p{
font-size:0.855rem;
color:var(--text-mid);
line-height:1.65;
margin-bottom:16px;
}
.phase-spec{
font-family:var(--mono);
font-size:0.78rem;
font-weight:600;
color:var(--amber);
margin-bottom:14px;
}
.claims-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2px;
background:var(--line-l);
margin:48px 0 0;
}
.claim{
background:var(--white);
padding:28px 26px;
border-top:3px solid var(--line-l);
transition:border-top-color 0.2s;
}
.claim:hover{
border-top-color:var(--amber);
}
.claim h3{
font-size:0.95rem;
margin-bottom:10px;
}
.claim p{
font-size:0.875rem;
color:var(--text-mid);
line-height:1.65;
margin-bottom:14px;
}
.claim-src{
font-size:0.70rem;
color:var(--amber);
font-style:italic;
}
.claim-doc{
font-family:var(--mono);
font-size:0.65rem;
color:var(--text-soft);
margin-top:8px;
}
.third-party-strip{
background:var(--paper);
border:1px solid var(--line-l);
padding:22px 36px;
display:flex;
align-items:center;
gap:40px;
flex-wrap:wrap;
margin-top:28px;
}
.tp-label{
font-size:0.68rem;
font-weight:700;
letter-spacing:0.12em;
text-transform:uppercase;
color:var(--text-soft);
flex-shrink:0;
}
.tp-items{
display:flex;
gap:36px;
flex-wrap:wrap;
}
.tp-item{
font-size:0.875rem;
font-weight:600;
color:var(--text);
}
.tp-item span{
font-weight:400;
color:var(--text-mid);
margin-left:6px;
}
.registry{
background:var(--paper);
}
.registry-table{
width:100%;
border-collapse:collapse;
margin-top:48px;
font-size:0.875rem;
}
.registry-table thead th{
font-family:var(--mono);
font-size:0.62rem;
letter-spacing:0.14em;
text-transform:uppercase;
color:var(--text-soft);
padding:12px 20px;
border-bottom:2px solid var(--line);
text-align:left;
background:var(--mist);
}
.registry-table tbody tr{
border-bottom:1px solid var(--line-l);
transition:background 0.15s;
}
.registry-table tbody tr:hover{
background:var(--amber-faint);
}
.registry-table td{
padding:14px 20px;
vertical-align:top;
color:var(--text-mid);
line-height:1.5;
}
.reg-ref{
font-family:var(--mono);
font-size:0.78rem;
font-weight:500;
color:var(--amber);
white-space:nowrap;
}
.reg-status{
display:inline-block;
font-family:var(--mono);
font-size:0.60rem;
font-weight:500;
letter-spacing:0.10em;
text-transform:uppercase;
padding:3px 9px;
white-space:nowrap;
}
.reg-s-filed{
background:var(--green-bg);
color:var(--green-ok);
}
.reg-s-signed{
background:var(--amber-pale);
color:var(--amber-deep);
}
.reg-s-active{
background:var(--green-bg);
color:var(--green-ok);
}
.reg-s-nda{
background:var(--mist-2);
color:var(--text-soft);
}
.entity-block{
background:var(--white);
border-top:1px solid var(--line-l);
}
.entity-grid{
display:grid;
grid-template-columns:1fr 1px 1fr 1px 1fr;
gap:0;
background:var(--line-l);
margin-top:48px;
}
.entity-col{
background:var(--white);
padding:40px 36px;
}
.entity-divider{
background:var(--line-l);
}
.entity-cat{
font-family:var(--mono);
font-size:0.68rem;
font-weight:500;
letter-spacing:0.14em;
text-transform:uppercase;
color:var(--amber);
margin-bottom:22px;
}
.entity-rows{
display:flex;
flex-direction:column;
gap:0;
}
.entity-row{
display:flex;
flex-direction:column;
gap:3px;
padding:12px 0;
border-bottom:1px solid var(--line-l);
}
.entity-row:last-child{border-bottom:none;}
.entity-k{
font-family:var(--mono);
font-size:0.62rem;
letter-spacing:0.1em;
text-transform:uppercase;
color:var(--text-faint);
}
.entity-v{
font-size:0.875rem;
color:var(--text-mid);
font-weight:500;
line-height:1.4;
}
.entity-v.mono{
font-family:var(--mono);
font-size:0.82rem;
color:var(--text);
}
.entity-v.amber{color:var(--amber);}
.esg-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2px;
background:var(--line-l);
margin-top:52px;
}
.esg-card{
background:var(--white);
padding:40px 32px;
}
.esg-cat{
font-family:var(--mono);
font-size:0.70rem;
font-weight:500;
letter-spacing:0.14em;
text-transform:uppercase;
color:var(--amber);
margin-bottom:24px;
}
.esg-list{
list-style:none;
display:flex;
flex-direction:column;
gap:12px;
}
.esg-list li{
font-size:0.875rem;
color:var(--text-mid);
line-height:1.55;
padding-left:18px;
position:relative;
}
.esg-list li::before{
content:'—';
position:absolute;
left:0;
color:var(--amber);
font-weight:700;
}
.partner-section{
background:var(--text);
color:white;
--amber:rgba(255,255,255,0.85);
--amber-l:rgba(255,255,255,0.7);
}
.partner-section .eyebrow{
color:rgba(255,255,255,0.6);
}
.partner-section .eyebrow::before{
background:rgba(255,255,255,0.4);
}
.partner-section h2{
color:#fff;
max-width:640px;
margin:16px 0 52px;
}
.partner-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:2px;
background:rgba(255,255,255,0.15);
margin-bottom:2px;
}
.pcard{
background:rgba(255,255,255,0.10);
padding:44px 40px;
transition:background 0.2s;
}
.pcard:hover{
background:rgba(255,255,255,0.16);
}
.pcard-type{
font-family:var(--mono);
font-size:0.68rem;
font-weight:500;
letter-spacing:0.14em;
text-transform:uppercase;
color:rgba(255,255,255,0.5);
margin-bottom:12px;
}
.pcard h3{
font-family:var(--sans);
font-size:clamp(1.2rem,1.8vw,1.6rem);
font-weight:600;
color:#fff;
margin-bottom:16px;
}
.pcard p{
font-size:0.875rem;
color:rgba(255,255,255,0.72);
line-height:1.7;
margin-bottom:22px;
}
.pcard-checklist{
list-style:none;
display:flex;
flex-direction:column;
gap:9px;
}
.pcard-checklist li{
font-size:0.875rem;
color:rgba(255,255,255,0.82);
display:flex;
gap:10px;
align-items:flex-start;
}
.pcard-checklist li::before{
content:'✓';
color:rgba(255,255,255,0.45);
flex-shrink:0;
margin-top:1px;
font-size:0.78rem;
}
.structures{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:2px;
background:rgba(255,255,255,0.15);
}
.struct{
background:rgba(0,0,0,0.10);
padding:28px 28px;
}
.struct h3{
font-family:var(--mono);
font-size:0.68rem;
font-weight:500;
letter-spacing:0.12em;
text-transform:uppercase;
color:rgba(255,255,255,0.55);
margin-bottom:10px;
}
.struct p{
font-size:0.875rem;
color:rgba(255,255,255,0.65);
line-height:1.65;
}
.cta-section{
background:var(--paper);
border-top:1px solid var(--line-l);
}
.cta-inner{
max-width:840px;
margin:0 auto;
padding:92px 48px;
text-align:center;
}
.cta-inner .eyebrow{
display:flex;
justify-content:center;
margin-bottom:24px;
}
.cta-inner h2{margin-bottom:20px;}
.cta-inner .lead{margin:0 auto 40px;}
.cta-chips{
display:flex;
justify-content:center;
gap:8px;
flex-wrap:wrap;
margin-bottom:32px;
}
.chip{
font-family:var(--mono);
font-size:0.70rem;
font-weight:500;
letter-spacing:0.08em;
text-transform:uppercase;
padding:5px 14px;
border:1px solid var(--line);
color:var(--text-soft);
}
.cta-actions{
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
margin-bottom:28px;
}
.cta-note{
font-size:0.80rem;
color:var(--text-soft);
}
.cta-note a{
color:var(--amber);
text-decoration:underline;
text-underline-offset:3px;
}
.footer{
background:var(--mist);
border-top:1px solid var(--line);
padding:72px 0 40px;
}
.footer-grid{
display:grid;
grid-template-columns:2.5fr 1fr 1fr 1fr;
gap:60px;
margin-bottom:48px;
}
.footer-brand{}
.footer-logo-row{
display:flex;
align-items:center;
gap:10px;
font-family:var(--sans);
font-size:0.9rem;
font-weight:600;
text-transform:uppercase;
letter-spacing:0.1em;
color:var(--text);
margin-bottom:14px;
}
.footer-desc{
font-size:0.875rem;
color:var(--text-mid);
line-height:1.72;
margin-bottom:20px;
max-width:360px;
}
.footer-reg{
font-family:var(--mono);
font-size:0.68rem;
color:var(--text-soft);
line-height:2.0;
}
.footer-col h3{
font-size:0.68rem;
font-weight:700;
letter-spacing:0.14em;
text-transform:uppercase;
color:var(--text-soft);
margin-bottom:18px;
}
.footer-col ul{
list-style:none;
display:flex;
flex-direction:column;
gap:10px;
}
.footer-col li a{
font-size:0.875rem;
color:var(--text-mid);
transition:color 0.15s;
}
.footer-col li a:hover{color:var(--amber);}
.footer-bottom{
padding-top:32px;
border-top:1px solid var(--line);
display:flex;
gap:48px;
justify-content:space-between;
align-items:flex-start;
}
.footer-disclaimer{
font-size:0.72rem;
color:var(--text-soft);
line-height:1.75;
max-width:720px;
}
.footer-copy{
font-size:0.72rem;
color:var(--text-soft);
white-space:nowrap;
flex-shrink:0;
}
.reveal{
opacity:0;
transform:translateY(18px);
transition:opacity 0.65s var(--ease),transform 0.65s var(--ease);
}
.reveal.in{
opacity:1;
transform:translateY(0);
}
@media (max-width:1100px){
.stp-inner{grid-template-columns:1fr;
gap:32px;
}
.stp-vs{display:none;}
.stp-divider{display:none;}
.stp-col{
padding:0;
border-bottom:1px solid rgba(255,255,255,0.08);
padding-bottom:28px;
}
.entity-grid{
grid-template-columns:1fr;
}
.entity-divider{display:none;}
.registry-table{font-size:0.80rem;}
.registry-table thead th:nth-child(3){display:none;}
.registry-table td:nth-child(3){display:none;}
.wrap,.wrap-mid,.wrap-tight{padding:0 32px;}
.hero{
grid-template-columns:1fr;
min-height:auto;
}
.hero-left{
padding:72px 32px 56px;
}
.hero-left::after{display:none;}
.hero-right{min-height:480px;}
.thesis-layout,.ai-layout,.land-layout{
grid-template-columns:1fr;
gap:48px;
}
.phases-grid{
grid-template-columns:1fr 1fr;
}
.footer-grid{
grid-template-columns:1fr 1fr;
gap:40px;
}
.partner-grid{
grid-template-columns:1fr;
}
.location-card{
position:relative;
right:auto;
top:auto;
transform:none;
max-width:100%;
margin:0;
}
.location-photo{min-height:300px;}
.site-card{max-width:280px;}}
.hamburger{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
padding:8px;
background:none;
border:none;
}
.hamburger span{
display:block;
width:22px;
height:2px;
background:var(--text);
border-radius:2px;
transition:all 0.25s;
}
.hamburger.open span:nth-child(1){
transform:translateY(7px) rotate(45deg);
}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){
transform:translateY(-7px) rotate(-45deg);
}
.nav-mobile{
display:none;
position:fixed;
top:68px;
left:0;
right:0;
background:rgba(255,255,255,0.98);
backdrop-filter:blur(20px);
border-bottom:1px solid var(--line-l);
z-index:199;
padding:16px 20px 24px;
flex-direction:column;
gap:4px;
}
.nav-mobile.open{display:flex;}
.nav-mobile a{
font-size:0.95rem;
font-weight:500;
color:var(--text-mid);
padding:12px 16px;
border-bottom:1px solid var(--line-l);
transition:color 0.15s;
}
.nav-mobile a:hover{color:var(--amber);}
.nav-mobile .btn{
margin-top:12px;
justify-content:center;
border-bottom:none;
}
.nav-mobile a.btn-amber{color:#fff;}
.nav-mobile a.btn-amber:hover{color:#fff;}
/* ═══════════════════════════════════════════════════════════════
   MOBILE — iPhone 13/14/15/16 Pro optimised · UX/UI Senior
   breakpoints: 768px → 480px → 390px
   ═══════════════════════════════════════════════════════════════ */
/* ── 768px: tablets + large phones ── */
/* Tablet / iPad portrait (769-1024px): too many nav items for inline text at this width,
   use the same hamburger menu as mobile. Desktop nav only from 1025px up. */
@media(min-width:769px) and (max-width:1024px){
.nav-links,.nav-actions,.nav-process{display:none!important;}
.hamburger{display:flex!important;}
}
@media(max-width:768px){
/* prevent iOS auto-zoom on inputs / small text */
html{font-size:16px;-webkit-text-size-adjust:100%;}
.wrap,.wrap-mid,.wrap-tight{padding:0 18px!important;}
/* nav */
.nav-links,.nav-actions,.nav-process{display:none!important;}
.hamburger{display:flex!important;}
/* hero */
.hero{grid-template-columns:1fr!important;min-height:auto!important;}
.hero-left{padding:52px 18px 36px!important;}
.hero-right{min-height:240px!important;}
.site-card{display:none!important;}
.hero-kpis{grid-template-columns:1fr 1fr!important;gap:2px!important;margin-top:24px!important;}
.kpi-cell:last-child{display:none!important;}
.hero-actions{flex-direction:column!important;gap:10px!important;}
.btn-amber,.btn-outline{width:100%!important;justify-content:center!important;min-height:48px!important;padding:14px 20px!important;}
/* typography */
h1{font-size:2rem!important;line-height:1.08!important;}
h2{font-size:1.4rem!important;line-height:1.2!important;}
h3{font-size:1.05rem!important;}
.lead{font-size:0.9rem!important;line-height:1.65!important;}
.body-text{font-size:0.88rem!important;}
.eyebrow{font-size:0.62rem!important;margin-bottom:10px!important;}
/* metrics bar */
.metrics-row{grid-template-columns:1fr 1fr!important;}
.metric-cell:last-child{display:none!important;}
/* thesis */
.thesis-layout{grid-template-columns:1fr!important;gap:32px!important;}
.shift{grid-template-columns:56px 1fr!important;gap:14px!important;padding:20px 0!important;}
.shift-num{font-size:1.9rem!important;}
/* STP banner — 2×2 grid on phone */
.stp-inner{display:grid!important;grid-template-columns:1fr 1fr!important;gap:2px!important;background:rgba(255,255,255,0.12)!important;}
.stp-vs{display:none!important;}
.stp-col{padding:18px 14px!important;}
.stp-value{font-size:1.8rem!important;}
.stp-label{font-size:0.62rem!important;}
.stp-sub{font-size:0.65rem!important;}
/* power section */
.photo-stmt{grid-template-columns:1fr!important;}
.ps-bg{min-height:200px!important;max-height:200px!important;}
.ps-panel{padding:28px 18px!important;}
.ps-stats{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:16px!important;}
/* energy */
#energy .wrap>div{grid-template-columns:1fr!important;gap:24px!important;}
#energy .wrap>div>div:last-child{margin-top:0!important;}
/* AI section — show pillars as cards, table horizontal scroll */
.ai-layout{grid-template-columns:1fr!important;gap:32px!important;}
.ai-layout>div{min-width:0!important;}
.cmp-table{font-size:0.72rem!important;}
.cmp-table{min-width:520px!important;}
.pillars{display:flex!important;flex-direction:column!important;gap:2px!important;}
.pillar{padding:18px 16px!important;}
/* land */
.land-layout{grid-template-columns:1fr!important;gap:0!important;}
.land-photo-block{order:1!important;}
.land-photo-block+div{order:2!important;}
/* phases */
.phases-grid{grid-template-columns:1fr!important;gap:2px!important;margin-top:20px!important;}
.phase{padding:18px 16px!important;}
/* location */
.location-block{flex-direction:column!important;}
.location-card{position:relative!important;right:auto!important;top:auto!important;transform:none!important;max-width:100%!important;border-radius:0!important;}
.location-photo{min-height:200px!important;}
.lat-row{padding:10px 0!important;}
/* claims */
.claims-grid{grid-template-columns:1fr!important;gap:2px!important;margin-top:20px!important;}
.claim{padding:18px 16px!important;}
.third-party-strip{flex-direction:column!important;gap:8px!important;}
.tp-items{flex-wrap:wrap!important;gap:6px!important;}
/* registry */
.registry-table{font-size:0.72rem!important;}
.table-scroll{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;min-width:0!important;}
.registry-table table{min-width:560px!important;}
/* ESG */
.esg-grid{grid-template-columns:1fr!important;gap:2px!important;}
/* partner section — show cards on mobile */
.partner-section{padding:48px 0!important;}
.partner-grid{grid-template-columns:1fr!important;gap:2px!important;margin-top:28px!important;}
.pcard{display:block!important;padding:28px 18px!important;}
.pcard-checklist{padding-left:16px!important;}
.structures{grid-template-columns:1fr!important;gap:2px!important;margin-top:16px!important;}
.struct{padding:24px 18px!important;}
/* press */
#press .wrap>div[style*="3px 1fr"]{grid-template-columns:3px 1fr!important;padding:28px 18px 28px 0!important;}
/* vision / site photos */
#vision>div>div[style*="1fr 1fr"]{grid-template-columns:1fr!important;}
#vision img{height:240px!important;object-fit:cover!important;}
/* team — inline grid overrides */
[style*="repeat(3,1fr)"]{grid-template-columns:1fr!important;}
[style*="repeat(2,1fr)"]{grid-template-columns:1fr!important;}
/* milestones */
#milestones .wrap>div>div{grid-template-columns:76px 1fr!important;gap:12px!important;}
/* process */
.process-steps-grid{grid-template-columns:1fr 1fr!important;}
.timeline-phases-grid{grid-template-columns:1fr 1fr!important;}
#process>div>div>div[style*="padding:28px 32px"]{padding:20px 16px!important;}
/* CTA */
.cta-inner{padding:44px 18px!important;}
.cta-chips{gap:6px!important;flex-wrap:wrap!important;}
.chip{font-size:0.70rem!important;padding:5px 10px!important;}
.cta-actions{flex-direction:column!important;gap:8px!important;}
/* footer */
.footer-grid-3col{grid-template-columns:1fr!important;gap:22px!important;}
/* all interactive targets: 44px minimum (iOS HIG) */
a:not(.eyebrow),button{min-height:44px;}
.btn{min-height:48px!important;}
/* ── COMPACTION: eliminate dead vertical space on iPhone ── */
/* Section wrappers — desktop values inherited, reduced for mobile */
.sec{padding:14px 0!important;}
.sec-sm{padding:8px 0!important;}
.sec-lg{padding:18px 0!important;}
/* Hero — reduce 52px top to 28px, 36px bottom to 16px */
.hero-left{padding:28px 16px 16px!important;}
.hero-right{min-height:160px!important;}
/* Thesis */
.thesis-layout{gap:14px!important;}
.shift{padding:14px 0!important;}
/* STP banner */
.stp-inner{gap:1px!important;}
.stp-col{padding:14px 10px!important;}
/* Power photo panel */
.ps-panel{padding:18px 14px!important;}
.ps-bg{min-height:150px!important;max-height:150px!important;}
.ps-stats{margin-top:10px!important;}
/* AI / comparison */
.ai-layout{gap:14px!important;}
.pillars{gap:1px!important;}
/* Land */
.land-layout{gap:0!important;}
/* Phases & claims */
.phases-grid{gap:1px!important;margin-top:12px!important;}
.claims-grid{gap:1px!important;margin-top:12px!important;}
/* Partner cards */
.partner-section{padding:20px 0!important;}
.partner-grid{gap:1px!important;margin-top:16px!important;}
.pcard{padding:20px 14px!important;}
.structures{gap:1px!important;margin-top:10px!important;}
.struct{padding:18px 14px!important;}
/* CTA */
.cta-inner{padding:28px 14px!important;}
.cta-inner .lead{margin-bottom:20px!important;}
/* Footer — biggest culprit: 72px+40px → 24px+16px */
.footer{padding:24px 0 16px!important;}
.footer-grid,.footer-grid-3col{gap:14px!important;margin-bottom:14px!important;}
/* Vision photos */
#vision img{height:160px!important;}
[style*="position:relative;overflow:hidden;height:300px;"]{height:160px!important;}
/* Location */
.location-photo{min-height:160px!important;}
/* Process */
.process-steps-grid,.timeline-phases-grid{gap:1px!important;}
/* ESG grid */
.esg-grid{gap:1px!important;}
/* Press */
#press .wrap>div[style*="3px 1fr"]{padding:20px 14px 20px 0!important;}
}
/* ── 480px: iPhone 13/14/15/16 Pro ── */
@media(max-width:480px){
.wrap,.wrap-mid,.wrap-tight{padding:0 14px!important;}
h1{font-size:1.75rem!important;line-height:1.08!important;}
h2{font-size:1.2rem!important;line-height:1.18!important;}
.hero-left{padding:22px 14px 12px!important;}
.hero-left .lead{font-size:0.875rem!important;}
.hero-right{min-height:200px!important;}
.metrics-row{grid-template-columns:1fr 1fr!important;}
.stp-value{font-size:1.6rem!important;}
.stp-col{padding:14px 10px!important;}
.ps-bg{min-height:180px!important;max-height:180px!important;}
.ps-panel{padding:24px 14px!important;}
.btn{padding:12px 18px!important;font-size:0.85rem!important;}
.nav-mobile{padding:12px 14px 20px!important;}
.shift-num{font-size:1.7rem!important;}
.process-steps-grid{grid-template-columns:1fr 1fr!important;}
.timeline-phases-grid{grid-template-columns:1fr 1fr!important;}
.table-scroll table{font-size:0.68rem!important;}
.cmp-table{min-width:480px!important;}
}
/* ── 390px: iPhone 13 mini / SE ── */
@media(max-width:390px){
h1{font-size:1.55rem!important;}
h2{font-size:1.1rem!important;}
.wrap,.wrap-mid,.wrap-tight{padding:0 12px!important;}
.metrics-row{grid-template-columns:1fr!important;}
.stp-inner{grid-template-columns:1fr!important;}
.stp-col{border-bottom:1px solid rgba(255,255,255,0.1)!important;padding-bottom:14px!important;}
.process-steps-grid{grid-template-columns:1fr!important;}
.timeline-phases-grid{grid-template-columns:1fr!important;}
.hero-kpis{grid-template-columns:1fr 1fr!important;}
}

/* --- multipage nav/home additions (new, appended; nothing above this line altered) --- */
@media(min-width:769px){
.location-photo{min-height:1180px;}
.location-card{position:absolute!important;top:48px!important;bottom:48px!important;transform:none!important;right:48px!important;max-width:400px!important;overflow-y:auto!important;}
}
.nav-links a.active{color:var(--amber);font-weight:600;}
.nav-mobile a.active{color:var(--amber);font-weight:600;}
.page-intro{max-width:760px;margin:0 auto 8px;}
.home-hero{padding:0;}
.home-hero-photo{position:relative;width:100%;height:78vh;min-height:520px;max-height:860px;overflow:hidden;}
.home-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.home-hero-overlay{position:absolute;left:0;right:0;bottom:0;padding:16px 32px 44px;background:linear-gradient(to top,rgba(8,8,8,0.92) 0%,rgba(8,8,8,0.55) 48%,rgba(8,8,8,0) 100%);}
.home-hero-overlay .wrap{max-width:900px;margin:0;}
.home-hero-overlay .eyebrow{color:rgba(255,255,255,0.88);margin-bottom:14px;text-shadow:0 1px 12px rgba(0,0,0,0.5);}
.home-hero-overlay h1{color:#fff;font-size:clamp(1.9rem,4.2vw,3.1rem);font-weight:300;line-height:1.2;letter-spacing:-0.01em;max-width:780px;margin-bottom:0;text-shadow:0 2px 20px rgba(0,0,0,0.55);}
.home-hero-text{max-width:820px;margin:0 auto;text-align:center;padding:40px 24px 8px;}
.home-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line-l);max-width:980px;margin:40px auto 0;}
.home-stats .stat-cell{background:var(--white);padding:28px 24px;text-align:center;}
.home-stats .stat-n{font-family:var(--sans);font-size:2rem;font-weight:400;color:var(--amber);letter-spacing:-0.02em;margin-bottom:8px;}
.home-stats .stat-l{font-size:0.8rem;color:var(--text-soft);line-height:1.5;}
.home-actions{display:flex;gap:14px;justify-content:center;margin:36px 0 0;flex-wrap:wrap;}
.home-teasers{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line-l);max-width:980px;margin:72px auto 0;}
.teaser-card{background:var(--white);text-decoration:none;color:inherit;display:block;transition:opacity 0.2s;}
.teaser-card:hover{opacity:0.88;}
.teaser-photo{width:100%;height:220px;overflow:hidden;}
.teaser-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.teaser-card-body{padding:24px 26px 28px;}
.teaser-card h3{font-family:var(--sans);font-size:1.15rem;font-weight:500;color:var(--text);margin-bottom:10px;}
.teaser-card p{font-size:0.86rem;color:var(--text-soft);line-height:1.6;margin-bottom:14px;}
.teaser-card .teaser-arrow{font-size:0.8rem;color:var(--amber);font-weight:600;}
@media(max-width:768px){.home-teasers{grid-template-columns:1fr;}}
.home-contact-strip{text-align:center;padding:48px 24px 64px;border-top:1px solid var(--line-l);margin-top:56px;}
.home-contact-strip p{font-size:0.92rem;color:var(--text-mid);}
.home-contact-strip a{color:var(--amber);font-weight:600;text-decoration:none;border-bottom:1px solid var(--amber);}
@media(max-width:768px){
  .home-stats{grid-template-columns:1fr;}
  .home-hero-photo{height:52vh;min-height:360px;}
  .home-hero-text{padding:36px 20px 4px;}
  .home-hero-overlay{padding:14px 20px 28px;}
  .teaser-photo{height:160px;}
}
/* Semantic fix: inner pages use a real <h1> for their main heading while keeping the established h2 visual rhythm */
.page-h1{font-family:var(--sans);font-size:clamp(1.9rem,3vw,3.4rem);font-weight:300;line-height:1.15;letter-spacing:-0.01em;color:var(--text);}
@media(max-width:768px){.page-h1{font-size:1.4rem!important;line-height:1.2!important;}}
@media(max-width:480px){.page-h1{font-size:1.2rem!important;line-height:1.18!important;}}
@media(max-width:390px){.page-h1{font-size:1.1rem!important;}}
/* Regression fix: .ps-panel h2 and .location-card h2 had scoped overrides (color/size) that no longer match now that these specific headings are <h1>. Restore them explicitly for .page-h1 in those contexts. */
.ps-panel .page-h1{color:#fff;}
.location-card .page-h1{font-size:clamp(1.4rem,2vw,2rem)!important;line-height:1.2!important;}
