:root{
  --gold:#d9b545;
  --gold-deep:#b98a26;
  --gold-pale:#f3df9a;
  --ink:#1c1c1c;
  --paper:#f5f5f5;
  --paper-2:#ecebe7;
  --surface:#ffffff;
  --muted:#676767;
  --line:rgba(28,28,28,.12);
  --shadow:0 20px 55px rgba(16,16,16,.12);
  --radius:30px;
  --radius-sm:18px;
  --container:min(1240px,calc(100% - 56px));
  --header-h:96px;
}
html[data-theme="dark"]{
  --bg:#111111;
  --bg-2:#171717;
  --surface:#1c1c1c;
  --surface-2:#222;
  --text:#f5f5f5;
  --muted:#b8b8b8;
  --line:rgba(255,255,255,.12);
  --shadow:0 28px 65px rgba(0,0,0,.28);
}
html[data-theme="light"]{
  --bg:#f4f3ef;
  --bg-2:#ffffff;
  --surface:#ffffff;
  --surface-2:#f0efe9;
  --text:#1c1c1c;
  --muted:#686868;
  --line:rgba(28,28,28,.11);
  --shadow:0 22px 55px rgba(28,28,28,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Poppins,Arial,sans-serif;line-height:1.6;overflow-x:hidden;transition:background .25s ease,color .25s ease}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
button{color:inherit}
.container{width:var(--container);margin-inline:auto}
.section{padding:104px 0;position:relative}
.dark-section{background:#151515;color:#f5f5f5}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold-deep);font-weight:700;font-size:.74rem;letter-spacing:.17em;text-transform:uppercase}
.eyebrow::before{content:"";width:28px;height:2px;background:currentColor}
.eyebrow.on-dark{color:var(--gold)}
h1,h2,h3{margin:0;line-height:1.08;font-weight:400;letter-spacing:-.02em}
h1,h2{font-family:"Russo One",Poppins,sans-serif}
h1{font-size:clamp(2.15rem,3.3vw,3.15rem)}
h2{font-size:clamp(1.65rem,2.5vw,2.35rem)}
h3{font-size:clamp(1.15rem,1.55vw,1.55rem);font-weight:600}
p{margin:0;color:var(--muted)}
.dark-section p,.page-hero p,.hero-home p,.site-footer p{color:#c7c7c7}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;border:1px solid var(--line);font-size:.88rem;font-weight:700;letter-spacing:.02em;transition:.2s ease;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#151515;box-shadow:0 10px 28px rgba(217,181,69,.18)}
.btn-gold:hover{background:#e2c25f}
.btn-ghost{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.28);color:#fff}
.btn-small{min-height:42px;padding:0 18px;font-size:.8rem}
.text-link{display:inline-flex;gap:10px;align-items:center;font-size:.9rem;font-weight:700;border-bottom:1px solid var(--line);padding-bottom:7px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:9999;background:var(--gold);color:#111;padding:10px 14px;border-radius:8px}
.skip-link:focus{top:12px}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header-h);background:rgba(19,19,19,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);transition:height .28s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
html[data-theme="light"] .site-header{background:rgba(245,245,245,.92);border-bottom-color:rgba(28,28,28,.08)}
@media (min-width:1101px){
  .site-header.is-scrolled{height:76px;box-shadow:0 10px 32px rgba(0,0,0,.08)}
  .site-header.is-scrolled .brand{width:178px;height:58px}
  .site-header.is-scrolled .brand-logo{width:172px}
  .site-header.is-scrolled .desktop-nav a{padding-top:24px;padding-bottom:24px}
  .site-header.is-scrolled .desktop-nav a::after{bottom:17px}
}
.header-inner{height:100%;width:min(1380px,calc(100% - 42px));margin:auto;display:flex;align-items:center;gap:30px}
.brand{width:228px;height:72px;display:flex;align-items:center;position:relative;transition:width .28s ease,height .28s ease}
.brand-logo{position:absolute;left:0;top:50%;transform:translateY(-50%);width:220px;max-width:100%;height:auto;object-fit:contain;transition:width .28s ease,opacity .22s ease,filter .25s ease;filter:drop-shadow(0 5px 12px rgba(0,0,0,.12))}
.brand-logo-dark{opacity:1}.brand-logo-light{opacity:0}
html[data-theme="light"] .brand-logo-dark{opacity:0}html[data-theme="light"] .brand-logo-light{opacity:1}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:28px}
.desktop-nav a{font-size:.8rem;font-weight:600;color:#d4d4d4;position:relative;padding:28px 0}
html[data-theme="light"] .desktop-nav a{color:#4d4d4d}
.desktop-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:21px;height:2px;background:var(--gold);transition:.2s ease}
.desktop-nav a:hover::after,.desktop-nav a.is-active::after{right:0}
.desktop-nav a.is-active{color:var(--gold)}
.header-actions{display:flex;align-items:center;gap:10px}
.theme-toggle,.menu-toggle{width:42px;height:42px;border:1px solid rgba(255,255,255,.16);background:transparent;border-radius:50%;display:grid;place-items:center;cursor:pointer}
html[data-theme="light"] .theme-toggle,html[data-theme="light"] .menu-toggle{border-color:rgba(28,28,28,.14)}
.theme-toggle .sun{display:none}.theme-toggle .moon{display:block}
html[data-theme="light"] .theme-toggle .sun{display:block}html[data-theme="light"] .theme-toggle .moon{display:none}
.menu-toggle{display:none;position:relative}
.menu-toggle span{width:17px;height:1.5px;background:currentColor;position:absolute;transition:.2s ease}.menu-toggle span:first-child{transform:translateY(-4px)}.menu-toggle span:last-child{transform:translateY(4px)}
.menu-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
.mobile-panel{position:fixed;left:0;right:0;top:var(--header-h);background:#171717;color:#fff;max-height:0;overflow:hidden;transition:max-height .35s ease;border-bottom:1px solid rgba(255,255,255,.1)}
html[data-theme="light"] .mobile-panel{background:#f4f3ef;color:#1c1c1c;border-bottom-color:rgba(28,28,28,.1)}
.mobile-panel.is-open{max-height:520px}
.mobile-panel nav{width:var(--container);margin:auto;padding:20px 0 30px;display:grid}
.mobile-panel a{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);font-family:"Russo One";font-size:1.35rem}.mobile-panel a span{font:600 .75rem Poppins;color:var(--gold-deep)}

/* Hero */
.hero-home{min-height:730px;padding:calc(var(--header-h) + 48px) 0 58px;background:#131313;color:#fff;position:relative;overflow:hidden}
.hero-home.has-home-photo{background-color:#111;background-image:var(--home-hero-image);background-size:cover;background-position:var(--home-hero-pos,70% center);background-repeat:no-repeat}
.hero-home::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 24%,rgba(217,181,69,.13),transparent 27%),linear-gradient(110deg,transparent 0 60%,rgba(255,255,255,.025) 60% 60.2%,transparent 60.2%);pointer-events:none}
.hero-home.has-home-photo::before{background:linear-gradient(90deg,rgba(10,10,10,.90) 0 28%,rgba(10,10,10,.74) 45%,rgba(10,10,10,.48) 63%,rgba(10,10,10,.62) 100%),radial-gradient(circle at 78% 24%,rgba(217,181,69,.13),transparent 27%),linear-gradient(110deg,transparent 0 60%,rgba(255,255,255,.025) 60% 60.2%,transparent 60.2%)}
.hero-home::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to right,transparent 0,black 65%,black);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);gap:70px;align-items:center;position:relative;z-index:2}
.hero-copy{padding-top:20px}
.hero-copy h1{font-size:clamp(2.45rem,3.65vw,3.45rem);margin:22px 0 22px;max-width:690px}.hero-copy h1 span{color:var(--gold)}
.hero-copy>p{max-width:700px;font-size:1.02rem;line-height:1.78}
.hero-copy .actions{margin-top:30px}
.hero-index{margin-top:44px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 30px;max-width:620px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}
.hero-index span{color:#9f9f9f;font-size:.72rem;letter-spacing:.04em}.hero-index b{color:var(--gold);margin-right:8px}
.hero-visual{height:610px;position:relative;isolation:isolate}
.hero-photo{position:absolute;inset:0 34px 4px 0;border-radius:54px 16px 54px 54px;overflow:hidden;transform:none;transition:none;background:rgba(255,255,255,.012);box-shadow:inset 0 0 0 1px rgba(255,255,255,.055),0 32px 80px rgba(0,0,0,.18)}
.hero-focus-lens{-webkit-backdrop-filter:brightness(1.34) contrast(1.10) saturate(1.10);backdrop-filter:brightness(1.34) contrast(1.10) saturate(1.10)}
.hero-focus-lens::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(217,181,69,.055),transparent 32%,rgba(255,255,255,.018) 72%,transparent);pointer-events:none}
.image-slot{background-image:var(--slot-image);background-size:cover;background-position:var(--slot-position,center);position:relative;overflow:hidden}
.image-slot::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(217,181,69,.16),transparent 35%),linear-gradient(to top,rgba(17,17,17,.5),transparent 55%);pointer-events:none}
.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,18,18,.22),transparent 40%),linear-gradient(to top,rgba(18,18,18,.55),transparent 55%)}
.slot-badge,.dev-photo-label{display:none;position:absolute;z-index:3;left:18px;bottom:16px;padding:7px 10px;border-radius:999px;background:rgba(20,20,20,.72);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);color:#eee;font-size:.62rem;font-weight:700;letter-spacing:.09em}
.media-slots-on .slot-badge,.media-slots-on .dev-photo-label{display:block}
.hero-outline{position:absolute;inset:0 34px 4px 0;border:1px solid rgba(217,181,69,.56);border-radius:54px 16px 54px 54px;z-index:3;pointer-events:none}
.floating-tag{position:absolute;z-index:4;padding:10px 13px;border:1px solid rgba(255,255,255,.18);background:rgba(22,22,22,.82);backdrop-filter:blur(8px);border-radius:12px;color:#f5f5f5;font-size:.63rem;font-weight:700;letter-spacing:.12em}
.tag-a{left:10px;top:105px}.tag-b{right:-12px;top:250px}.tag-c{left:16px;bottom:105px}
.floating-mark{position:absolute;z-index:5;right:30px;bottom:-4px;width:118px;filter:drop-shadow(0 15px 18px rgba(0,0,0,.35));animation:goldFloat 5s ease-in-out infinite}
.coordinates{position:absolute;right:48px;top:4px;z-index:5;font-size:.56rem;letter-spacing:.15em;color:#8e8e8e;text-align:right}.coordinates span{display:block;color:var(--gold);margin-top:2px}
@keyframes goldFloat{50%{transform:translateY(-9px) rotate(-2deg)}}
.hero-track{position:absolute;left:0;right:0;bottom:0;height:42px;border-top:1px solid rgba(255,255,255,.09);display:grid;grid-template-columns:repeat(4,1fr)}.hero-track i{border-right:1px solid rgba(255,255,255,.06);position:relative}.hero-track i::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold);position:absolute;top:-2px;left:50%}

/* Section systems */
.intro-split{background:var(--bg)}
.intro-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:110px;align-items:end;margin-bottom:52px}.section-title h2{margin-top:18px}.intro-copy p{font-size:1.02rem;line-height:1.85;margin-bottom:25px}
.dual-operations{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.operation-panel{min-height:330px;border-radius:38px 12px 38px 38px;padding:35px;display:grid;grid-template-columns:70px 1fr 48px;gap:20px;align-items:end;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.operation-build{background:var(--surface);border:1px solid var(--line)}.operation-rent{background:var(--gold);color:#161616}.operation-rent p{color:#473b18}.operation-panel::before{content:"";position:absolute;right:-70px;top:-70px;width:260px;height:260px;border:1px solid currentColor;border-radius:50%;opacity:.07}.panel-number{font-family:"Russo One";color:var(--gold-deep);font-size:.9rem;align-self:start}.operation-rent .panel-number{color:#1c1c1c}.operation-panel small{font-size:.68rem;font-weight:700;letter-spacing:.15em;opacity:.58}.operation-panel h3{margin:8px 0 14px}.operation-panel>a{width:46px;height:46px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;align-self:end}
.section-head{max-width:790px;margin-bottom:48px}.section-head h2{margin:18px 0}.section-head p{font-size:1rem}.section-head.compact{margin-bottom:34px}
.capabilities{background:var(--bg-2)}
.cap-grid{display:grid;grid-template-columns:1.25fr .75fr .8fr;grid-auto-rows:minmax(260px,auto);gap:16px}
.cap-card{border-radius:34px 10px 34px 34px;padding:28px;background:var(--surface);border:1px solid var(--line);position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow);transition:.22s ease}
.cap-card:hover{transform:translateY(-5px);border-color:rgba(217,181,69,.45)}.cap-card h3{max-width:430px;margin:14px 0 9px}.cap-card p{max-width:480px;font-size:.9rem}.cap-card>b{font-size:.78rem;margin-top:20px;color:var(--gold-deep)}.cap-no{position:absolute;top:22px;left:24px;font-size:.7rem;font-weight:700;color:var(--gold-deep)}
.cap-large{grid-row:span 2;min-height:550px;padding:36px}.cap-large h3{font-size:1.75rem}.cap-image{color:#fff;background-image:var(--card-image);background-size:cover;background-position:center;min-height:330px}.cap-image::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(10,10,10,.9),rgba(10,10,10,.06) 65%)}.cap-image>*{position:relative;z-index:2}.cap-image p{color:#d3d3d3}.cap-image .cap-no{color:var(--gold)}.cap-card-bottom{position:relative;z-index:2}.cap-gold{background:var(--gold);color:#151515}.cap-gold p{color:#4f421e}.cap-gold .cap-no,.cap-gold>b{color:#151515}.cap-wide{grid-column:span 2;min-height:260px;display:grid;grid-template-columns:80px 1fr auto;align-items:end;gap:20px}.cap-wide .cap-no{position:static;align-self:start}.terrain-lines{position:absolute;inset:90px 34px 180px;border:1px solid var(--gold);border-radius:48% 52% 63% 37% / 47% 40% 60% 53%;opacity:.35}.terrain-lines::before,.terrain-lines::after{content:"";position:absolute;inset:16px;border:1px solid var(--gold);border-radius:inherit}.terrain-lines::after{inset:34px}.asphalt-mark{position:absolute;right:30px;top:30px;width:75px;height:75px;border:1px solid var(--gold);border-radius:50%}.asphalt-mark::after{content:"";position:absolute;inset:19px;border-radius:50%;border:1px solid var(--gold)}.rent-symbol{position:absolute;right:25px;top:10px;font:400 7rem/1 "Russo One";opacity:.08}
.project-feature{padding-bottom:0}.project-feature-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:68px;align-items:center}.project-media{height:590px;border-radius:48px 12px 48px 48px;box-shadow:0 35px 80px rgba(0,0,0,.35)}.project-watermark{position:absolute;right:24px;top:15px;font:400 clamp(5rem,11vw,9rem)/1 "Russo One";color:rgba(255,255,255,.12);z-index:1}.project-kicker{display:block;margin:25px 0 12px;color:#a8a8a8;font-size:.72rem;letter-spacing:.12em}.project-copy h2{font-size:clamp(1.85rem,2.5vw,2.5rem);margin-bottom:18px}.project-copy p{line-height:1.8}.project-specs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 30px}.project-specs span,.tag-row span,.rent-use-list span{padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;font-size:.66rem;font-weight:600;color:#d7d7d7}.project-route{margin-top:72px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.13)}.project-route a{padding:25px 18px 35px;border-right:1px solid rgba(255,255,255,.1);position:relative}.project-route a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);position:absolute;top:-4px;left:18px}.project-route b{display:block;color:var(--gold);font-family:"Russo One"}.project-route span{font-size:.73rem;color:#aaa}
.operating-model{background:var(--bg)}.operating-words{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.operating-words>div{padding:50px 36px;border-right:1px solid var(--line)}.operating-words>div:last-child{border-right:0}.operating-words span{color:var(--gold-deep);font-weight:700;font-size:.75rem}.operating-words h3{font-family:"Russo One";font-size:clamp(1.85rem,2.8vw,2.85rem);margin:14px 0 18px;letter-spacing:-.03em}.operating-words p{font-size:.9rem}
.visual-direction{background:var(--bg-2)}.visual-direction-head{max-width:850px;margin-bottom:42px}.visual-direction-head h2{margin:18px 0}.visual-slots{display:grid;grid-template-columns:.8fr 1.35fr;grid-template-rows:340px 340px;gap:16px}.visual-slot{border-radius:34px 10px 34px 34px;box-shadow:var(--shadow)}.visual-slot.tall{grid-row:1/3}.visual-slot.square{grid-column:2;max-width:48%;justify-self:end;width:100%}.visual-slot.wide{grid-column:2}.visual-slot::before{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.18);border-radius:25px 8px 25px 25px;z-index:2;pointer-events:none}
.final-cta{padding-top:40px}.cta-panel{background:#181818;color:#fff;min-height:300px;border-radius:42px 14px 42px 42px;padding:50px;display:flex;align-items:center;justify-content:space-between;gap:50px;position:relative;overflow:hidden}.cta-panel::after{content:"G";position:absolute;right:26%;bottom:-95px;font:400 14rem/1 "Russo One";color:rgba(217,181,69,.06)}.cta-panel>div{max-width:760px;position:relative;z-index:2}.cta-panel h2{margin:14px 0 12px}.cta-panel p{max-width:670px}.cta-panel>.btn{position:relative;z-index:3;flex:0 0 auto}

/* Internal hero */
.page-hero{padding:calc(var(--header-h) + 56px) 0 62px;background:#151515;color:#fff;position:relative;overflow:hidden;min-height:410px;display:flex;align-items:center}.page-hero::after{content:"";position:absolute;right:-10%;top:-40%;width:620px;height:620px;border:1px solid rgba(217,181,69,.14);border-radius:50%;box-shadow:0 0 0 50px rgba(217,181,69,.03),0 0 0 100px rgba(217,181,69,.02)}.page-hero-grid{display:grid;grid-template-columns:1fr .55fr;gap:70px;align-items:end;position:relative;z-index:2}.page-hero h1{font-size:clamp(2.2rem,3.35vw,3.2rem);max-width:820px;margin:18px 0}.page-hero p{max-width:760px;font-size:1rem;line-height:1.8}.page-hero .btn{margin-top:26px}.page-hero-art{justify-self:end;text-align:right}.page-hero-art img{width:180px;margin-left:auto;animation:goldFloat 5s ease-in-out infinite}.page-hero-art span{display:block;margin-top:16px;color:#8f8f8f;font-size:.63rem;letter-spacing:.15em}.editorial-grid{display:grid;grid-template-columns:.65fr 1fr;gap:120px}.sticky-title{align-self:start;position:sticky;top:130px}.sticky-title h2{margin-top:18px}.long-copy{display:grid;gap:22px}.long-copy p{font-size:1.05rem;line-height:1.9}.long-copy .text-link{justify-self:start;margin-top:8px}.sector-lines{margin-top:40px;border-top:1px solid rgba(255,255,255,.14)}.sector-lines>div{display:grid;grid-template-columns:70px .8fr 1.1fr;gap:40px;padding:30px 0;border-bottom:1px solid rgba(255,255,255,.12);align-items:center}.sector-lines>div>span{color:var(--gold);font:400 .8rem "Russo One"}.sector-lines h3{font-family:"Russo One"}.about-image-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.about-image-grid>.image-slot{height:590px;border-radius:44px 12px 44px 44px}.about-principles h2{margin:18px 0 28px}.about-principles ul{list-style:none;margin:0;padding:0;display:grid;gap:0}.about-principles li{padding:22px 0;border-bottom:1px solid var(--line);color:var(--muted)}.about-principles b{color:var(--text)}
.service-index{display:grid;gap:0;border-top:1px solid rgba(255,255,255,.15)}.service-index a{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.13);font-size:.8rem;color:#bbb}.service-index a:hover{color:var(--gold)}
.service-list{padding-top:80px}.service-row{display:grid;grid-template-columns:70px 1fr .9fr;gap:50px;padding:65px 0;border-bottom:1px solid var(--line);align-items:center}.service-row.reverse{grid-template-columns:70px .9fr 1fr}.service-row.reverse .service-row-copy{grid-column:3}.service-row.reverse .service-row-media{grid-column:2;grid-row:1}.service-no{align-self:start;color:var(--gold-deep);font:400 .85rem "Russo One"}.service-row-copy h2{font-size:clamp(1.7rem,2.35vw,2.3rem);margin:14px 0 16px}.service-row-copy>p{line-height:1.85}.service-row-copy ul{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}.service-row-copy li{font-size:.78rem;border-top:1px solid var(--line);padding-top:10px;color:var(--muted)}.service-row-media{height:420px;border-radius:36px 10px 36px 36px;box-shadow:var(--shadow)}.abstract-media,.blueprint-media{position:relative;overflow:hidden;background:#171717;color:#fff}.abstract-media span,.blueprint-media span{position:absolute;left:22px;bottom:18px;font-size:.62rem;letter-spacing:.15em;color:#aaa}.road-lines{position:absolute;inset:15%;border:1px solid var(--gold);border-radius:45% 55% 65% 35%;transform:rotate(-18deg)}.road-lines::before,.road-lines::after{content:"";position:absolute;inset:16px;border:1px solid rgba(217,181,69,.6);border-radius:inherit}.road-lines::after{inset:36px}.blueprint-media{background:linear-gradient(135deg,#1a1a1a,#222)}.blueprint-media i{position:absolute;background:rgba(217,181,69,.35)}.blueprint-media i:nth-of-type(1){width:70%;height:1px;left:12%;top:30%;transform:rotate(-10deg)}.blueprint-media i:nth-of-type(2){height:70%;width:1px;left:52%;top:10%;transform:rotate(12deg)}.blueprint-media i:nth-of-type(3){width:190px;height:190px;border:1px solid rgba(217,181,69,.35);background:transparent;border-radius:50%;right:16%;bottom:12%}
.projects-hero .timeline-mark{display:flex;align-items:center;gap:14px;justify-self:end;color:#989898}.timeline-mark b{font-family:"Russo One";color:var(--gold)}.timeline-mark i{width:40px;height:1px;background:rgba(255,255,255,.2)}.project-timeline{padding-top:70px}.year-block{display:grid;grid-template-columns:110px 1fr .86fr;gap:42px;padding:70px 0;border-bottom:1px solid var(--line);align-items:center}.year-stamp{font:400 1.1rem "Russo One";color:var(--gold-deep);align-self:start;padding-top:5px}.year-content h2{font-size:clamp(1.7rem,2.25vw,2.25rem);margin:12px 0 15px}.year-content p{line-height:1.85}.tag-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:22px}.tag-row span{border-color:var(--line);color:var(--muted)}.year-image{height:380px;border-radius:34px 10px 34px 34px;box-shadow:var(--shadow)}.other-work .section-head{margin-bottom:30px}.work-ledger{border-top:1px solid rgba(255,255,255,.14)}.work-ledger>div{display:grid;grid-template-columns:70px 1fr;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.11);gap:25px}.work-ledger span{font-family:"Russo One";color:var(--gold)}.work-ledger p{max-width:920px}
.rent-hero-symbol{justify-self:end;position:relative;width:330px;height:250px;border:1px solid rgba(217,181,69,.25);border-radius:50%;display:grid;place-items:center}.rent-hero-symbol img{width:130px}.rent-hero-symbol span{position:absolute;font:400 5.3rem/1 "Russo One";color:rgba(255,255,255,.05);letter-spacing:.05em}.rent-focus-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:center}.rent-focus-grid>.image-slot{height:560px;border-radius:42px 12px 42px 42px}.rent-focus-grid h2{margin:18px 0}.rent-focus-grid p{line-height:1.85}.rent-use-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.availability-panel{border:1px solid var(--line);background:var(--surface);border-radius:36px 10px 36px 36px;padding:48px;display:grid;grid-template-columns:.3fr 1fr 1.2fr auto;align-items:center;gap:28px}.availability-panel h2{font-size:1.65rem}.availability-panel p{font-size:.9rem}
.contact-quick{justify-self:end;display:grid;gap:10px;min-width:340px}.contact-quick a{display:grid;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.14)}.contact-quick span{font-size:.67rem;color:#929292;text-transform:uppercase;letter-spacing:.14em}.contact-quick b{font-size:.95rem}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.contact-info{align-self:start}.contact-info h2,.contact-form-card h2{margin:14px 0 16px}.map-frame{margin-top:30px;height:420px;border-radius:34px 10px 34px 34px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.3)}.contact-form-card{background:var(--surface);border:1px solid var(--line);border-radius:38px 12px 38px 38px;padding:40px;box-shadow:var(--shadow)}form{display:grid;gap:16px;margin-top:25px}label{display:grid;gap:7px;font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--muted)}input,textarea,select{width:100%;border:1px solid var(--line);background:var(--bg-2);color:var(--text);border-radius:14px;padding:13px 14px;outline:none}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(217,181,69,.1)}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hp-field{position:absolute!important;left:-9999px!important}.form-note{font-size:.68rem}.form-status{display:none;margin-top:15px;padding:12px;border-radius:12px;font-size:.8rem}.form-status.is-success{display:block;background:rgba(55,148,91,.12);color:#4bb073}.form-status.is-error{display:block;background:rgba(186,63,63,.12);color:#d36b6b}
.legal-hero{min-height:360px}.legal-copy{max-width:850px;display:grid;gap:18px}.legal-copy h2{font-family:Poppins;font-size:1.35rem;font-weight:700;margin-top:18px}.legal-copy a{text-decoration:underline}

/* Footer */
.site-footer{margin-top:70px;background:#111;color:#fff;padding:85px 0 28px;position:relative;overflow:hidden}.footer-mark{position:absolute;right:-100px;bottom:-170px;width:520px;opacity:.06}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .9fr 1.1fr;gap:55px;position:relative;z-index:2}.footer-brand img{width:150px;margin-bottom:22px}.footer-brand p{max-width:350px;font-size:.82rem}.site-footer> .container>div:not(.footer-brand):not(.footer-cta){display:flex;flex-direction:column}.footer-grid>div>a{font-size:.78rem;color:#bbb;margin:6px 0}.footer-grid>div>a:hover{color:var(--gold)}.footer-grid>div>p{font-size:.74rem;margin-top:8px}.footer-label{font-size:.62rem;letter-spacing:.15em;color:var(--gold);font-weight:700;text-transform:uppercase;margin-bottom:12px}.footer-cta h2{font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.18;margin:6px 0 18px}.footer-bottom{margin-top:65px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:.68rem;color:#8d8d8d}.footer-bottom div{display:flex;gap:18px}.developer-credit a{color:#c9aa46;font-weight:600}.developer-credit a:hover{color:#f0cf67}.footer-grid .footer-cta a.btn-gold{color:#151515;margin:0}.footer-grid .footer-cta a.btn-gold:hover{color:#151515}.whatsapp-pill{position:fixed;right:20px;bottom:20px;z-index:900;background:var(--gold);color:#151515;padding:11px 17px;border-radius:999px;font-size:.78rem;font-weight:700;box-shadow:0 12px 35px rgba(0,0,0,.25);display:flex;gap:8px;align-items:center}.whatsapp-pill span{width:22px;height:22px;border-radius:50%;background:#151515;color:var(--gold);display:grid;place-items:center}

/* Reveal */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}

@media (min-width:981px){
  .contact-info{position:sticky;top:112px}
}

@media (max-width:1100px){
  :root{--container:min(100% - 40px,1000px)}
  .desktop-nav{display:none}.menu-toggle{display:grid}.header-contact{display:none}
  .hero-home{min-height:auto}.hero-grid{grid-template-columns:1fr;gap:45px}.hero-visual{height:560px;max-width:800px;width:100%;margin:auto}.hero-copy{max-width:860px}
  .intro-grid{gap:60px}.cap-grid{grid-template-columns:1fr 1fr}.cap-large{grid-row:span 1;min-height:360px}.cap-wide{grid-column:span 2}.project-feature-grid{grid-template-columns:1fr;gap:40px}.project-media{height:520px}.project-copy{max-width:850px}.project-route{grid-template-columns:repeat(2,1fr)}.visual-slots{grid-template-columns:1fr 1fr;grid-template-rows:360px 360px}.visual-slot.tall{grid-row:1/3}.visual-slot.square{max-width:100%}.page-hero-grid{grid-template-columns:1fr .45fr}.editorial-grid{gap:70px}.service-row,.service-row.reverse{grid-template-columns:60px 1fr}.service-row-media,.service-row.reverse .service-row-media{grid-column:2;grid-row:auto}.service-row.reverse .service-row-copy{grid-column:2}.year-block{grid-template-columns:80px 1fr}.year-image{grid-column:2}.availability-panel{grid-template-columns:1fr 1fr}.availability-panel .btn{justify-self:start}.footer-grid{grid-template-columns:1.2fr .8fr 1fr}.footer-cta{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid rgba(255,255,255,.1);padding-top:30px}
}
@media (max-width:760px){
  :root{--container:calc(100% - 28px);--header-h:72px}
  .section{padding:68px 0}.header-inner{width:calc(100% - 24px)}.brand{width:166px;height:58px}.brand-logo{width:162px;max-height:none}.header-actions{margin-left:auto}.theme-toggle,.menu-toggle{width:39px;height:39px}
  h1{font-size:2.15rem}h2{font-size:1.8rem}
  .hero-home{padding-top:calc(var(--header-h) + 34px)}.hero-focus-lens{-webkit-backdrop-filter:brightness(1.24) contrast(1.07) saturate(1.06);backdrop-filter:brightness(1.24) contrast(1.07) saturate(1.06)}.hero-copy h1{font-size:2.25rem}.hero-copy>p{font-size:.92rem}.hero-index{grid-template-columns:1fr;gap:7px}.hero-visual{height:430px}.hero-photo{inset:0 24px 0 0;border-radius:38px 12px 38px 38px}.hero-outline{inset:0 24px 0 0;border-radius:38px 12px 38px 38px}.floating-mark{width:85px;right:20px}.tag-b{right:-2px}.coordinates{display:none}
  .intro-grid{grid-template-columns:1fr;gap:24px;margin-bottom:35px}.dual-operations{grid-template-columns:1fr}.operation-panel{min-height:290px;grid-template-columns:42px 1fr 38px;padding:26px}.operation-panel>a{width:38px;height:38px}.cap-grid{display:grid;grid-template-columns:1fr}.cap-card,.cap-large,.cap-image{min-height:290px}.cap-large{padding:28px}.cap-large h3{font-size:1.55rem}.cap-wide{grid-column:auto;display:flex;align-items:flex-start}.cap-wide .cap-no{position:absolute;top:22px}.project-media{height:390px}.project-copy h2{font-size:1.85rem}.project-route{grid-template-columns:1fr 1fr}.project-route a{padding:22px 10px 28px}.operating-words{grid-template-columns:1fr}.operating-words>div{border-right:0;border-bottom:1px solid var(--line);padding:35px 10px}.operating-words h3{font-size:2.2rem}.visual-slots{display:grid;grid-template-columns:1fr;grid-template-rows:none}.visual-slot,.visual-slot.tall,.visual-slot.wide,.visual-slot.square{grid-column:auto;grid-row:auto;height:340px;max-width:none}.visual-slot.tall{height:460px}.cta-panel{padding:34px 26px;min-height:360px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.cta-panel::after{right:-10%;font-size:11rem}.page-hero{min-height:390px;padding-top:calc(var(--header-h) + 44px)}.page-hero-grid{grid-template-columns:1fr;gap:40px}.page-hero h1{font-size:2.15rem}.page-hero-art,.timeline-mark,.rent-hero-symbol,.contact-quick{justify-self:start}.page-hero-art{text-align:left}.page-hero-art img{margin:0;width:120px}.editorial-grid{grid-template-columns:1fr;gap:30px}.sticky-title{position:static}.sector-lines>div{grid-template-columns:45px 1fr;gap:15px}.sector-lines p{grid-column:2}.about-image-grid{grid-template-columns:1fr;gap:40px}.about-image-grid>.image-slot{height:420px}.service-index{width:100%}.service-row,.service-row.reverse{grid-template-columns:42px 1fr;gap:20px;padding:48px 0}.service-row-copy ul{grid-template-columns:1fr}.service-row-media{height:330px}.year-block{grid-template-columns:1fr;gap:20px;padding:48px 0}.year-stamp{font-size:1.6rem}.year-image{grid-column:1;height:320px}.work-ledger>div{grid-template-columns:45px 1fr}.rent-focus-grid{grid-template-columns:1fr;gap:35px}.rent-focus-grid>.image-slot{height:430px}.availability-panel{grid-template-columns:1fr;padding:28px}.contact-grid{grid-template-columns:1fr;gap:45px}.contact-quick{min-width:0;width:100%}.contact-form-card{padding:26px}.form-two{grid-template-columns:1fr}.map-frame{height:340px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-brand,.footer-cta{grid-column:1/-1}.footer-cta{display:block}.footer-bottom{flex-direction:column;gap:12px}.whatsapp-pill{right:12px;bottom:12px}
}
@media (max-width:430px){
  h1,.hero-copy h1,.page-hero h1{font-size:1.9rem}.hero-visual{height:370px}.tag-a{top:70px}.tag-b{top:175px}.tag-c{bottom:70px}.project-route{grid-template-columns:1fr}.project-route a{border-right:0}.footer-grid{grid-template-columns:1fr}.footer-grid>div{grid-column:1}.footer-cta{grid-column:1}.section-head h2{font-size:1.72rem}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Navigation dropdowns · inspired by the interaction pattern used in Zuhú, adapted to GOLD */
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown>.nav-parent{display:flex;align-items:center;gap:6px}
.nav-dropdown>.nav-parent span{font-size:.72rem;color:var(--gold);transform:translateY(-1px);transition:transform .2s ease}
.nav-dropdown.is-active>.nav-parent{color:var(--gold)}
.nav-dropdown.is-active>.nav-parent::after{right:0}
.nav-dropdown-menu{position:absolute;top:calc(100% - 7px);left:50%;transform:translate(-50%,10px);min-width:330px;padding:12px;background:rgba(20,20,20,.98);border:1px solid rgba(255,255,255,.1);border-radius:18px 6px 18px 18px;box-shadow:0 25px 70px rgba(0,0,0,.32);opacity:0;visibility:hidden;pointer-events:none;transition:.2s ease;z-index:1200}
html[data-theme="light"] .nav-dropdown-menu{background:rgba(248,247,243,.99);border-color:rgba(28,28,28,.1);box-shadow:0 25px 70px rgba(36,30,16,.13)}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nav-dropdown:hover>.nav-parent span,.nav-dropdown:focus-within>.nav-parent span{transform:rotate(180deg)}
.desktop-nav .nav-dropdown-menu a{padding:11px 12px;border-radius:10px;color:#d8d8d8;display:flex;flex-direction:column;gap:3px;line-height:1.3;transition:background .18s ease,color .18s ease}
html[data-theme="light"] .desktop-nav .nav-dropdown-menu a{color:#303030}
.desktop-nav .nav-dropdown-menu a::after{display:none}
.desktop-nav .nav-dropdown-menu a:hover{background:rgba(217,181,69,.1);color:var(--gold)}
.nav-dropdown-menu a small{font:600 .58rem/1.2 Poppins,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8f8f8f}
.nav-dropdown-menu a span,.nav-dropdown-menu a strong{font:500 .78rem/1.35 Poppins,sans-serif}
.nav-dropdown-menu .dropdown-all{display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"small arrow" "title arrow";align-items:center;margin-bottom:7px;padding:13px 14px!important;background:var(--gold)!important;color:#151515!important}
.nav-dropdown-menu .dropdown-all small{grid-area:small;color:rgba(21,21,21,.62)}
.nav-dropdown-menu .dropdown-all strong{grid-area:title;font-weight:700}
.nav-dropdown-menu .dropdown-all b{grid-area:arrow;font-size:1.1rem}
.services-menu{width:min(620px,76vw)}
.services-menu .dropdown-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.projects-menu{width:360px}
.projects-menu>a:not(.dropdown-all){border-bottom:1px solid rgba(255,255,255,.06)}
html[data-theme="light"] .projects-menu>a:not(.dropdown-all){border-bottom-color:rgba(28,28,28,.06)}

.mobile-panel.is-open{max-height:calc(100vh - var(--header-h));overflow-y:auto}
.mobile-submenu{border-bottom:1px solid var(--line)}
.mobile-submenu summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 0;cursor:pointer;font-family:"Russo One";font-size:1.35rem}
.mobile-submenu summary::-webkit-details-marker{display:none}
.mobile-submenu summary span{font:600 .75rem Poppins;color:var(--gold-deep)}
.mobile-submenu>div{display:grid;padding:2px 0 12px 18px}
.mobile-panel .mobile-submenu>div a{font-family:Poppins,sans-serif;font-size:.87rem;font-weight:500;padding:10px 0;color:#bdbdbd}
html[data-theme="light"] .mobile-panel .mobile-submenu>div a{color:#4b4b4b}
.mobile-panel .mobile-submenu>div a:first-child{color:var(--gold-deep);font-weight:700}

/* Six-service system */
.cap-commercial{min-height:260px;background:linear-gradient(145deg,var(--surface),var(--surface-2));border-color:rgba(217,181,69,.22)}
.cap-commercial::before{content:"06";position:absolute;right:18px;top:4px;font:400 6rem/1 "Russo One";color:var(--gold);opacity:.06}

/* Individual service pages */
.service-detail-hero .page-hero-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.65fr);align-items:center}
.service-detail-visual{height:440px;border-radius:42px 12px 42px 42px;box-shadow:var(--shadow);position:relative}
.service-detail-number{position:absolute;z-index:3;right:22px;bottom:10px;font:400 clamp(4rem,8vw,8rem)/1 "Russo One";color:rgba(255,255,255,.22)}
.service-detail-list{margin-top:34px;border-top:1px solid var(--line)}
.service-detail-list>div{display:grid;grid-template-columns:54px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.service-detail-list span{font:600 .72rem Poppins;color:var(--gold-deep)}
.service-detail-list p{margin:0;color:var(--text);font-weight:500}
.service-detail-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}
.service-detail-context-grid h2{margin-top:16px;max-width:680px}
.service-detail-context-grid p{color:#b9b9b9;max-width:650px;line-height:1.8}
.on-dark-link{color:#fff;border-color:rgba(255,255,255,.2)}

@media (max-width:900px){
  .service-detail-hero .page-hero-grid{grid-template-columns:1fr}
  .service-detail-visual{height:360px}
  .service-detail-context-grid{grid-template-columns:1fr;gap:28px}
}

/* v5 · clearer navigation and more orderly field gallery */
.operating-words>.operating-link{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:270px;
  padding:42px 36px 34px;
  border-right:1px solid var(--line);
  transition:background .22s ease,transform .22s ease,box-shadow .22s ease;
}
.operating-words>.operating-link:last-child{border-right:0}
.operating-words>.operating-link:hover{
  background:linear-gradient(145deg,rgba(217,181,69,.10),rgba(217,181,69,.025));
  transform:translateY(-3px);
  box-shadow:inset 0 2px 0 rgba(217,181,69,.55);
}
.operating-link p{max-width:330px}
.operating-link>b{
  margin-top:auto;
  padding-top:26px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  font:600 .72rem/1.2 Poppins,sans-serif;
  letter-spacing:.04em;
  color:var(--gold-deep);
}
.operating-link>b i{font-style:normal;font-size:.95rem;transition:transform .2s ease}
.operating-link:hover>b i{transform:translate(3px,-3px)}

/* Fill the gallery intentionally: one tall frame + two full-width companion frames. */
.visual-slots{grid-template-columns:minmax(280px,.82fr) minmax(0,1.38fr);grid-template-rows:300px 300px;gap:18px}
.visual-slot.tall{grid-column:1;grid-row:1/3}
.visual-slot.wide{grid-column:2;grid-row:1}
.visual-slot.square{grid-column:2;grid-row:2;max-width:none;width:100%;justify-self:stretch}
.visual-slot{min-width:0}

@media (max-width:1100px){
  .visual-slots{grid-template-columns:1fr 1fr;grid-template-rows:330px 330px}
  .visual-slot.square{max-width:none;width:100%;justify-self:stretch}
}
@media (max-width:760px){
  .operating-words>.operating-link{border-right:0;border-bottom:1px solid var(--line);min-height:230px;padding:32px 10px 28px}
  .operating-words>.operating-link:last-child{border-bottom:0}
  .visual-slots{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:14px}
  .visual-slot,.visual-slot.tall,.visual-slot.wide,.visual-slot.square{grid-column:1;grid-row:auto;height:300px;max-width:none;width:100%}
  .visual-slot.tall{height:380px}
}


/* V7 — Experience page: capability-first, chronology-secondary */
.projects-hero .page-hero-grid{align-items:end}
.experience-areas{justify-self:end;display:grid;grid-template-columns:1fr 1fr;width:min(100%,430px);border-top:1px solid rgba(255,255,255,.16);border-left:1px solid rgba(255,255,255,.12)}
.experience-areas span{padding:18px 20px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);font:400 .68rem/1.35 "Russo One";letter-spacing:.08em;color:#d2d2d2}
.experience-areas span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:10px;vertical-align:1px}
.experience-showcase{padding-top:54px}
.experience-block{display:grid;grid-template-columns:58px minmax(0,1fr) minmax(330px,.82fr);gap:42px;align-items:center;padding:62px 0;border-bottom:1px solid var(--line)}
.experience-block:first-child{padding-top:28px}
.experience-no{align-self:start;padding-top:5px;font:400 .8rem/1 "Russo One";letter-spacing:.08em;color:var(--gold-deep)}
.experience-content h2{font-size:clamp(1.65rem,2.05vw,2.08rem);line-height:1.16;margin:12px 0 15px;max-width:760px}
.experience-content p{line-height:1.78;max-width:760px}
.experience-image{height:350px;border-radius:30px 10px 30px 30px;box-shadow:var(--shadow)}
.period-tag{opacity:.68;border-style:dashed!important}
.other-work .section-head p{max-width:760px;color:#aaa;margin-top:12px;line-height:1.75}

@media (max-width:1024px){
  .experience-block{grid-template-columns:48px 1fr;gap:28px}
  .experience-image{grid-column:2;height:340px}
  .experience-areas{justify-self:start;margin-top:6px}
}
@media (max-width:680px){
  .experience-areas{width:100%;grid-template-columns:1fr 1fr}
  .experience-areas span{padding:14px 12px;font-size:.6rem}
  .experience-block{grid-template-columns:1fr;gap:18px;padding:44px 0}
  .experience-block:first-child{padding-top:16px}
  .experience-no{font-size:.72rem}
  .experience-content h2{font-size:1.55rem}
  .experience-image{grid-column:1;height:300px}
}

/* V8 — Contact form, privacy and legal hardening */
.contact-form-card form{position:relative}
.field-error{min-height:.9rem;font-size:.64rem;line-height:1.35;color:#c64f4f;font-weight:500;letter-spacing:0}
input.has-error,textarea.has-error,select.has-error{border-color:#c64f4f;box-shadow:0 0 0 3px rgba(198,79,79,.09)}
.privacy-summary{margin-top:4px;padding:16px 17px;border:1px solid var(--line);border-radius:14px;background:var(--bg-2)}
.privacy-summary strong{display:block;margin-bottom:6px;font-size:.71rem;color:var(--text)}
.privacy-summary p{margin:0;font-size:.67rem;line-height:1.65;color:var(--muted)}
.privacy-summary a,.privacy-check a{color:var(--gold-deep);text-decoration:underline;text-underline-offset:2px}
.privacy-check{display:flex;grid-template-columns:none;align-items:flex-start;gap:10px;color:var(--text);font-weight:500;letter-spacing:0;cursor:pointer}
.privacy-check input{width:17px;height:17px;flex:0 0 17px;margin:1px 0 0;accent-color:var(--gold-deep);box-shadow:none}
.privacy-check span{font-size:.71rem;line-height:1.45}
.form-status:focus{outline:none}
.form-status.is-success,.form-status.is-error{line-height:1.55}
.legal-hero p{margin-top:14px;color:#9c9c9c;font-size:.77rem;letter-spacing:.02em}
.legal-copy>p:first-child{font-size:1.02rem;line-height:1.85;padding-bottom:18px;border-bottom:1px solid var(--line)}
.legal-copy p{line-height:1.8}
.legal-copy strong{color:var(--text)}
.error-hero{min-height:620px}
.error-code{justify-self:end;font:400 clamp(6rem,15vw,13rem)/.8 "Russo One";color:rgba(217,181,69,.13);letter-spacing:-.08em}
.error-hero .hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}

@media (max-width:760px){
  .privacy-summary{padding:14px}
  .error-hero{min-height:520px}
  .error-code{justify-self:start;font-size:6rem}
}

/* v11 — service pages: distinct editorial modules */
.service-signature{position:relative;overflow:hidden}
.service-signature-head{max-width:850px;margin-bottom:38px}.service-signature-head h2{margin:14px 0 12px;max-width:760px}.service-signature-head p{max-width:720px}
.service-process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.14);border-bottom:1px solid rgba(255,255,255,.14)}
.service-process>div{padding:34px 28px 38px;border-right:1px solid rgba(255,255,255,.12)}.service-process>div:last-child{border-right:0}.service-process span{font:400 .7rem "Russo One";color:var(--gold)}.service-process b{display:block;font:400 clamp(1.3rem,2.1vw,2rem) "Russo One";margin:28px 0 10px}.service-process p{font-size:.78rem;color:#aaa;margin:0}
.service-signature-earth::after{content:"";position:absolute;width:440px;height:440px;border:1px solid rgba(217,181,69,.08);border-radius:48% 52% 42% 58%;right:-140px;top:-160px;transform:rotate(22deg)}
.supply-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.supply-layout h2{margin:14px 0 14px}.material-board{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid var(--line);border-radius:34px 10px 34px 34px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.material-board span{padding:28px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font:400 .78rem "Russo One";min-height:92px;display:flex;align-items:flex-end}.material-board span:nth-child(2n){border-right:0}.material-board span:nth-last-child(-n+2){border-bottom:0}.supply-route{margin-top:44px;display:grid;grid-template-columns:1fr repeat(4,auto);gap:28px;align-items:center;font-size:.68rem;letter-spacing:.08em}.supply-route i{height:1px;background:linear-gradient(90deg,var(--gold),var(--line));position:relative}.supply-route i::after{content:"";position:absolute;right:0;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.pavement-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.pavement-grid h2{margin:14px 0}.pavement-grid p{color:#b9b9b9;max-width:680px}.pavement-stack{display:grid;gap:8px;perspective:900px}.pavement-stack>div{min-height:74px;padding:18px 24px;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;gap:22px;background:linear-gradient(90deg,rgba(217,181,69,.11),rgba(255,255,255,.025));transform:skewX(-5deg);margin-left:calc(var(--layer, 0) * 16px)}.pavement-stack>div:nth-child(1){--layer:3}.pavement-stack>div:nth-child(2){--layer:2}.pavement-stack>div:nth-child(3){--layer:1}.pavement-stack>div:nth-child(4){--layer:0}.pavement-stack span{font:400 .68rem "Russo One";color:var(--gold)}.pavement-stack b{font-size:.88rem;transform:skewX(5deg)}
.civil-scope-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.civil-scope-grid>div{padding:36px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:230px}.civil-scope-grid span{color:var(--gold-deep);font:400 .7rem "Russo One"}.civil-scope-grid h3{font-size:1.35rem;margin:34px 0 10px}.civil-scope-grid p{font-size:.82rem;color:var(--muted);max-width:520px}
.commercial-split{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid rgba(255,255,255,.13);border-radius:42px 12px 42px 42px;overflow:hidden}.commercial-split>div{padding:52px}.commercial-split>div+div{border-left:1px solid rgba(255,255,255,.13)}.commercial-split h2{font-size:clamp(1.65rem,2.2vw,2.2rem);margin:16px 0}.commercial-split p{color:#b9b9b9;min-height:110px}.commercial-split .text-link{margin-top:20px}
.service-next{padding-top:20px}.service-next-grid{display:grid;grid-template-columns:.55fr 1fr;gap:80px;align-items:start}.service-next-grid h2{margin:14px 0}.service-next-links{border-top:1px solid var(--line)}.service-next-links a{display:grid;grid-template-columns:42px 1fr 24px;gap:10px;align-items:center;padding:17px 4px;border-bottom:1px solid var(--line);font-size:.78rem}.service-next-links a:hover{padding-left:10px;color:var(--gold-deep)}.service-next-links span{font:400 .62rem "Russo One";color:var(--gold-deep)}.service-next-links i{font-style:normal;text-align:right}
@media(max-width:1024px){.service-process{grid-template-columns:repeat(2,1fr)}.service-process>div:nth-child(2){border-right:0}.service-process>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.supply-layout,.pavement-grid,.service-next-grid{grid-template-columns:1fr;gap:42px}.commercial-split{grid-template-columns:1fr}.commercial-split>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.13)}.commercial-split p{min-height:0}}
@media(max-width:640px){.service-process{grid-template-columns:1fr}.service-process>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:28px 8px}.service-process>div:last-child{border-bottom:0}.supply-route{grid-template-columns:1fr 1fr;gap:16px}.supply-route i{grid-column:1/-1}.material-board{grid-template-columns:1fr}.material-board span{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:76px}.material-board span:last-child{border-bottom:0!important}.civil-scope-grid{grid-template-columns:1fr}.commercial-split>div{padding:34px 26px}.pavement-stack>div{margin-left:0}.service-next-links a{grid-template-columns:34px 1fr 20px}}

/* Language selector */
.lang-switch{display:flex;align-items:center;padding:3px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:rgba(255,255,255,.025)}
html[data-theme="light"] .lang-switch{border-color:rgba(28,28,28,.13);background:rgba(28,28,28,.025)}
.lang-switch a{display:grid;place-items:center;min-width:31px;height:29px;padding:0 8px;border-radius:999px;font:700 .62rem/1 Poppins,sans-serif;letter-spacing:.06em;color:#999;transition:.18s ease}
.lang-switch a:hover{color:var(--gold)}
.lang-switch a.is-active{background:var(--gold);color:#151515}
.mobile-lang-switch{display:flex;align-items:center;gap:7px;padding:2px 0 14px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.mobile-lang-switch>span{margin-right:auto;font:600 .68rem/1 Poppins,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.mobile-panel .mobile-lang-switch a{display:grid;place-items:center;width:40px;height:32px;padding:0;border:1px solid var(--line);border-radius:999px;font:700 .68rem/1 Poppins,sans-serif;color:var(--muted)}
.mobile-panel .mobile-lang-switch a.is-active{background:var(--gold);border-color:var(--gold);color:#151515}
@media (max-width:1100px){.header-actions>.lang-switch{display:none}}


/* V16 — GOLD generated imagery: cinematic heroes + verified project visuals */

.page-hero.has-hero-photo{
  background-color:#111;
  background-image:
    linear-gradient(90deg,rgba(12,12,12,.92) 0%,rgba(12,12,12,.78) 42%,rgba(12,12,12,.58) 68%,rgba(12,12,12,.70) 100%),
    linear-gradient(to top,rgba(10,10,10,.56),rgba(10,10,10,.10) 65%),
    var(--page-hero-image);
  background-size:cover;
  background-repeat:no-repeat;
}
.page-hero.has-hero-photo::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(120deg,rgba(217,181,69,.10),transparent 30%),radial-gradient(circle at 76% 36%,rgba(217,181,69,.10),transparent 27%);
}
.page-hero.has-hero-photo::after{opacity:.78}
.service-hero.has-hero-photo{background-position:center 56%}
.projects-hero.has-hero-photo{background-position:center 50%}
.rent-hero.has-hero-photo{background-position:center 55%}
.contact-hero.has-hero-photo{
  background-position:center 58%;
  background-image:
    linear-gradient(90deg,rgba(9,9,9,.82) 0%,rgba(9,9,9,.62) 34%,rgba(9,9,9,.34) 58%,rgba(9,9,9,.20) 100%),
    linear-gradient(to top,rgba(8,8,8,.26),rgba(8,8,8,.02) 70%),
    var(--page-hero-image);
}
.contact-hero.has-hero-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(217,181,69,.08),transparent 34%),radial-gradient(circle at 78% 30%,rgba(217,181,69,.08),transparent 30%);pointer-events:none}
.contact-hero.has-hero-photo::after{opacity:.34}
.contact-hero.has-hero-photo .contact-quick a{padding:15px 16px;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(8,8,8,.34);backdrop-filter:blur(4px)}
.contact-hero.has-hero-photo .contact-quick a + a{margin-top:10px}

/* Preserve legibility over photo while letting the new imagery remain visible. */
.page-hero.has-hero-photo .page-hero-grid{position:relative;z-index:2}
.page-hero.has-hero-photo .eyebrow.on-dark{color:#e4c75f}
.page-hero.has-hero-photo .service-index,
.page-hero.has-hero-photo .experience-areas{backdrop-filter:blur(2px);background:rgba(12,12,12,.14)}
.rent-hero.has-hero-photo .rent-hero-symbol{background:rgba(15,15,15,.22);backdrop-filter:blur(3px)}

/* Project crops: each generated image was composed for its own case. */
#presa-santa-maria .experience-image{background-position:center 55%}
#la-colorada .experience-image{background-position:center 50%}
#centro-logistico .experience-image{background-position:center 56%}
#pena-colorada .experience-image{background-position:center 52%}
.project-feature .project-media{background-position:center 55%}
.rent-focus-grid>.image-slot{background-position:center 54%}

@media (max-width:760px){
  .service-hero.has-hero-photo{background-position:62% center}
  .projects-hero.has-hero-photo{background-position:64% center}
  .rent-hero.has-hero-photo{background-position:62% center}
  .contact-hero.has-hero-photo{background-position:62% center}
  .page-hero.has-hero-photo{
    background-image:
      linear-gradient(90deg,rgba(12,12,12,.93),rgba(12,12,12,.70)),
      linear-gradient(to top,rgba(10,10,10,.62),rgba(10,10,10,.15) 70%),
      var(--page-hero-image);
  }
  .contact-hero.has-hero-photo{
    background-image:
      linear-gradient(90deg,rgba(9,9,9,.86),rgba(9,9,9,.48)),
      linear-gradient(to top,rgba(8,8,8,.38),rgba(8,8,8,.06) 70%),
      var(--page-hero-image);
  }
}


/* V21 — About hero + photographic service cards on Home */

/* About uses the same photographic language as Contact, but keeps its own GOLD identity. */
.about-hero.has-hero-photo{
  background-position:center 54%;
  background-image:
    linear-gradient(90deg,rgba(9,9,9,.80) 0%,rgba(9,9,9,.58) 36%,rgba(9,9,9,.30) 61%,rgba(9,9,9,.18) 100%),
    linear-gradient(to top,rgba(8,8,8,.24),rgba(8,8,8,.02) 72%),
    var(--page-hero-image);
}
.about-hero.has-hero-photo::before{
  background:linear-gradient(120deg,rgba(217,181,69,.08),transparent 34%),radial-gradient(circle at 78% 31%,rgba(217,181,69,.08),transparent 29%);
}
.about-hero.has-hero-photo::after{opacity:.32}
.about-hero.has-hero-photo .page-hero-art{
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px 8px 22px 22px;
  background:rgba(8,8,8,.18);
  backdrop-filter:blur(3px);
}

/* Generated imagery sits beneath the existing topographic / technical ornaments. */
.cap-card.cap-photo{
  background-color:#171717;
  color:#fff;
  isolation:isolate;
}
.cap-card.cap-photo::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--card-image);
  background-size:cover;
  background-position:center;
  transform:scale(1.012);
  transition:transform .45s ease,filter .35s ease;
}
.cap-card.cap-photo::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(to top,rgba(8,8,8,.93) 0%,rgba(8,8,8,.76) 31%,rgba(8,8,8,.30) 66%,rgba(8,8,8,.10) 100%),
    linear-gradient(135deg,rgba(217,181,69,.11),transparent 42%);
  pointer-events:none;
}
.cap-card.cap-photo:hover::before{transform:scale(1.045);filter:contrast(1.04) saturate(1.04)}
.cap-card.cap-photo > *{position:relative;z-index:3}
.cap-card.cap-photo h3{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.24)}
.cap-card.cap-photo p{color:#d4d4d4}
.cap-card.cap-photo > b,.cap-card.cap-photo .cap-card-bottom>b{color:var(--gold)}
.cap-card.cap-photo .cap-no{color:var(--gold)}

/* Keep the graphic objects visible as GOLD layers above the photographs. */
.cap-card.cap-photo .terrain-lines,
.cap-card.cap-photo .asphalt-mark,
.cap-card.cap-photo .rent-symbol{z-index:2}
.cap-card.cap-photo .terrain-lines{opacity:.72;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28))}
.cap-card.cap-photo .asphalt-mark{background:rgba(10,10,10,.14);backdrop-filter:blur(1px)}
.cap-card.cap-photo .rent-symbol{opacity:.16;color:#fff}

/* Rental remains visibly GOLD without hiding the useful machinery photograph. */
.cap-card.cap-photo-gold::after{
  background:
    linear-gradient(to top,rgba(30,24,8,.88) 0%,rgba(62,49,13,.64) 38%,rgba(217,181,69,.30) 72%,rgba(217,181,69,.18) 100%),
    linear-gradient(135deg,rgba(217,181,69,.45),rgba(14,14,14,.08));
}
.cap-card.cap-photo-gold h3{color:#fff}
.cap-card.cap-photo-gold p{color:#f0e6c5}
.cap-card.cap-photo-gold .cap-no,
.cap-card.cap-photo-gold>b{color:#f4d56d}
.cap-card.cap-photo-gold .rent-symbol{color:#f4d56d;opacity:.23}

/* The large earthworks card benefits from a slightly higher focal point. */
.cap-large.cap-photo::before{background-position:center 46%}
.cap-commercial.cap-photo::before{background-position:center 58%}
.cap-wide.cap-photo::before{background-position:center 56%}

@media (max-width:760px){
  .about-hero.has-hero-photo{
    background-position:64% center;
    background-image:
      linear-gradient(90deg,rgba(9,9,9,.84) 0%,rgba(9,9,9,.55) 100%),
      linear-gradient(to top,rgba(8,8,8,.30),rgba(8,8,8,.03) 72%),
      var(--page-hero-image);
  }
  .about-hero.has-hero-photo::after{opacity:.24}
  .about-hero.has-hero-photo .page-hero-art{background:rgba(8,8,8,.24)}
  .cap-card.cap-photo::after{
    background:linear-gradient(to top,rgba(8,8,8,.94) 0%,rgba(8,8,8,.72) 38%,rgba(8,8,8,.20) 74%,rgba(8,8,8,.08) 100%),linear-gradient(135deg,rgba(217,181,69,.10),transparent 44%);
  }
}


/* v22 — rebalance home capability cards: keep GOLD graphics prominent and use photos as support, not as the only language. */
.cap-card.cap-photo::before{
  filter:brightness(.88) contrast(1.02) saturate(.92);
}
.cap-card.cap-photo::after{
  background:
    linear-gradient(to top,rgba(8,8,8,.93) 0%,rgba(8,8,8,.76) 30%,rgba(8,8,8,.28) 64%,rgba(8,8,8,.08) 100%),
    linear-gradient(135deg,rgba(217,181,69,.10),transparent 40%);
}
.cap-card.cap-photo:hover::before{filter:brightness(.93) contrast(1.04) saturate(.96);transform:scale(1.03)}
.cap-card.cap-photo .terrain-lines,.cap-card.cap-photo .asphalt-mark,.cap-card.cap-photo .rent-symbol,.cap-card.cap-photo .material-bars,.cap-card.cap-photo .parcel-lines{z-index:2}

/* 01 Earthworks — recover the topo object and keep the image powerful. */
.cap-earth .terrain-lines{inset:72px 26px 160px 26px;opacity:.95;mix-blend-mode:screen;border-color:rgba(217,181,69,.82)}
.cap-earth .terrain-lines::before,.cap-earth .terrain-lines::after{border-color:rgba(217,181,69,.68)}
.cap-earth h3{max-width:290px}
.cap-earth::after{background:linear-gradient(to top,rgba(7,7,7,.95) 0%,rgba(7,7,7,.70) 34%,rgba(7,7,7,.22) 68%,rgba(7,7,7,.07) 100%),linear-gradient(135deg,rgba(217,181,69,.12),transparent 42%)}

/* 02 Materials — photograph lives mainly in the lower zone, while a technical object returns on the upper area. */
.cap-materials::before{background-position:center 70%;transform:scale(1.0)}
.cap-materials::after{background:linear-gradient(to top,rgba(8,8,8,.93) 0%,rgba(8,8,8,.72) 32%,rgba(8,8,8,.35) 58%,rgba(8,8,8,.14) 78%,rgba(8,8,8,.10) 100%),linear-gradient(180deg,rgba(18,18,18,.58) 0 42%,transparent 68%),linear-gradient(135deg,rgba(217,181,69,.10),transparent 40%)}
.material-bars{position:absolute;left:22px;top:44px;width:92px;height:92px;border:1px solid rgba(217,181,69,.72);border-radius:24px 10px 24px 24px;opacity:.82}
.material-bars::before,.material-bars::after{content:"";position:absolute;left:16px;right:16px;height:1px;background:rgba(217,181,69,.68)}
.material-bars::before{top:32px;box-shadow:0 18px 0 rgba(217,181,69,.54)}
.material-bars::after{top:58px}
.cap-materials .card-image-shade{display:none}
.cap-materials .cap-card-bottom{margin-top:auto;max-width:220px}
.cap-materials h3{font-size:1.7rem;max-width:230px}

/* 03 Paving — keep the circles readable and photo secondary. */
.cap-paving::before{background-position:center 62%;filter:brightness(.82) saturate(.90)}
.cap-paving .asphalt-mark{right:18px;top:18px;width:92px;height:92px;border-color:rgba(217,181,69,.88);background:rgba(10,10,10,.26);backdrop-filter:blur(3px)}
.cap-paving .asphalt-mark::after{inset:23px;border-color:rgba(217,181,69,.76)}
.cap-paving::after{background:linear-gradient(to top,rgba(8,8,8,.94) 0%,rgba(8,8,8,.78) 36%,rgba(8,8,8,.38) 66%,rgba(8,8,8,.12) 100%),linear-gradient(135deg,rgba(217,181,69,.12),transparent 48%)}

/* 04 Rental — keep the GOLD feel, but use a visible machinery frame instead of a fully flooded gold card. */
.cap-rent{background:#1a1a1a}
.cap-rent::before{inset:16px 16px 16px 16px;border-radius:26px 10px 26px 26px;background-position:center 58%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.cap-rent::after{background:linear-gradient(180deg,rgba(217,181,69,.28) 0%,rgba(76,59,15,.16) 25%,rgba(18,15,8,.10) 36%,rgba(8,8,8,.82) 72%,rgba(8,8,8,.93) 100%)}
.cap-rent .rent-symbol{opacity:.18;color:#f4d56d;right:18px;top:2px}
.cap-rent h3,.cap-rent p,.cap-rent b,.cap-rent .cap-no{position:relative;z-index:3}

/* 05 Civil works — panoramic photo, but with a clearer content band. */
.cap-civil::before{background-position:center 50%}
.cap-civil::after{background:linear-gradient(90deg,rgba(8,8,8,.88) 0%,rgba(8,8,8,.68) 34%,rgba(8,8,8,.36) 64%,rgba(8,8,8,.14) 100%),linear-gradient(135deg,rgba(217,181,69,.09),transparent 36%)}
.cap-civil > div{max-width:520px}
.cap-civil b{align-self:flex-end}

/* 06 Commercial — return to a lighter, more graphic card with the image as an inset instead of a hidden full background. */
.cap-commercial.cap-photo{background:linear-gradient(180deg,#f4f0e6,#efede8);color:#171717}
.cap-commercial.cap-photo::before{left:18px;right:18px;bottom:18px;top:auto;height:42%;border-radius:22px 8px 22px 22px;background-position:center 62%;filter:brightness(.98) saturate(.88) contrast(1.02);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.cap-commercial.cap-photo::after{background:linear-gradient(180deg,rgba(255,255,255,.0) 0%,rgba(255,255,255,.0) 58%,rgba(239,237,232,.16) 58%),radial-gradient(circle at 82% 18%,rgba(217,181,69,.22),transparent 36%)}
.cap-commercial.cap-photo h3{color:#171717;text-shadow:none;max-width:190px}
.cap-commercial.cap-photo p{color:#5b5b5b;max-width:210px}
.cap-commercial.cap-photo .cap-no,.cap-commercial.cap-photo>b{color:var(--gold-deep)}
.parcel-lines{position:absolute;right:18px;top:18px;width:96px;height:78px;border:1px solid rgba(217,181,69,.65);border-radius:22px 8px 22px 22px;opacity:.88}
.parcel-lines::before,.parcel-lines::after{content:"";position:absolute;background:rgba(217,181,69,.52)}
.parcel-lines::before{left:14px;right:14px;top:28px;height:1px;box-shadow:0 18px 0 rgba(217,181,69,.42)}
.parcel-lines::after{top:14px;bottom:14px;left:34px;width:1px;box-shadow:18px 0 0 rgba(217,181,69,.36)}
.cap-commercial.cap-photo > div:last-of-type{max-width:210px}

@media (max-width:760px){
  .cap-earth .terrain-lines{inset:80px 24px 156px 24px}
  .cap-materials .material-bars{top:38px;width:86px;height:86px}
  .cap-rent::before{inset:14px 14px 14px 14px}
  .cap-commercial.cap-photo::before{height:38%}
}


/* v23 — home services bento: balanced desktop composition + visible photography. */
@media (min-width:1025px){
  .cap-grid-six{
    grid-template-columns:1.18fr .82fr .82fr;
    grid-template-rows:280px 280px 250px;
    gap:16px;
    align-items:stretch;
  }
  .cap-grid-six .cap-earth{grid-column:1;grid-row:1 / 3;min-height:0}
  .cap-grid-six .cap-materials{grid-column:2;grid-row:1;min-height:0}
  .cap-grid-six .cap-paving{grid-column:3;grid-row:1;min-height:0}
  .cap-grid-six .cap-rent{grid-column:2;grid-row:2;min-height:0}
  .cap-grid-six .cap-commercial{grid-column:3;grid-row:2;min-height:0}
  .cap-grid-six .cap-civil{grid-column:1 / 4;grid-row:3;min-height:0}
}

/* Make the technical objects clearly part of the composition again. */
.cap-earth .terrain-lines{opacity:.95;filter:drop-shadow(0 7px 16px rgba(0,0,0,.34))}
.cap-paving .asphalt-mark{opacity:1;box-shadow:0 9px 28px rgba(0,0,0,.16)}
.cap-rent .rent-symbol{font-size:8.4rem;opacity:.30;right:14px;top:8px;line-height:.9;text-shadow:0 8px 28px rgba(0,0,0,.24)}
.material-bars{opacity:1;box-shadow:0 9px 24px rgba(0,0,0,.14)}
.parcel-lines{opacity:1;box-shadow:0 9px 24px rgba(0,0,0,.14)}

/* 06 Commercialization: full photograph again; the previous pale panel hid the actual image. */
.cap-commercial.cap-photo{
  background:#161616;
  color:#fff;
  justify-content:flex-end;
}
.cap-commercial.cap-photo::before{
  inset:0;
  height:auto;
  border-radius:0;
  background-position:center 58%;
  filter:brightness(.88) saturate(.92) contrast(1.05);
  box-shadow:none;
}
.cap-commercial.cap-photo::after{
  background:
    linear-gradient(to top,rgba(7,7,7,.94) 0%,rgba(7,7,7,.72) 38%,rgba(7,7,7,.24) 72%,rgba(7,7,7,.08) 100%),
    linear-gradient(135deg,rgba(217,181,69,.13),transparent 46%);
}
.cap-commercial.cap-photo > div:last-of-type{max-width:240px}
.cap-commercial.cap-photo h3{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28);max-width:230px}
.cap-commercial.cap-photo p{color:#d6d6d6;max-width:240px}
.cap-commercial.cap-photo .cap-no,.cap-commercial.cap-photo>b{color:var(--gold)}
.cap-commercial .parcel-lines{right:20px;top:20px;border-color:rgba(217,181,69,.84);background:rgba(10,10,10,.16);backdrop-filter:blur(2px)}
.cap-commercial .parcel-lines::before,.cap-commercial .parcel-lines::after{background:rgba(217,181,69,.72)}

/* 05 Civil works: use the full panoramic image and add a subtle structural drawing. */
.cap-civil{position:relative}
.cap-civil::before{background-position:center 52%}
.cap-civil::after{
  background:
    linear-gradient(90deg,rgba(7,7,7,.88) 0%,rgba(7,7,7,.68) 30%,rgba(7,7,7,.30) 62%,rgba(7,7,7,.08) 100%),
    linear-gradient(to top,rgba(7,7,7,.60),transparent 62%);
}
.civil-gridmark{position:absolute!important;z-index:2!important;right:34px;top:28px;width:190px;height:112px;border:1px solid rgba(217,181,69,.62);border-radius:28px 8px 28px 28px;opacity:.72}
.civil-gridmark::before{content:"";position:absolute;inset:18px;background-image:linear-gradient(rgba(217,181,69,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(217,181,69,.35) 1px,transparent 1px);background-size:28px 28px}
.civil-gridmark::after{content:"";position:absolute;left:28px;right:28px;bottom:18px;height:1px;background:rgba(217,181,69,.72);transform:rotate(-7deg);transform-origin:left center}

/* Keep the two compact center cards readable without hiding their imagery. */
.cap-materials::after{background:linear-gradient(to top,rgba(7,7,7,.92) 0%,rgba(7,7,7,.70) 34%,rgba(7,7,7,.24) 69%,rgba(7,7,7,.07) 100%),linear-gradient(135deg,rgba(217,181,69,.10),transparent 44%)}
.cap-rent::after{background:linear-gradient(to top,rgba(12,10,5,.91) 0%,rgba(26,21,9,.66) 38%,rgba(217,181,69,.18) 72%,rgba(217,181,69,.10) 100%)}

@media (max-width:1024px){
  .cap-grid-six .cap-earth,.cap-grid-six .cap-materials,.cap-grid-six .cap-paving,.cap-grid-six .cap-rent,.cap-grid-six .cap-commercial,.cap-grid-six .cap-civil{grid-column:auto;grid-row:auto}
  .cap-grid-six .cap-civil{grid-column:1 / -1}
}
@media (max-width:760px){
  .cap-grid-six .cap-civil{grid-column:auto}
  .civil-gridmark{width:130px;height:82px;right:18px;top:18px;opacity:.58}
  .cap-rent .rent-symbol{font-size:7rem}
}


/* v24 — Commercialization card: preserve legibility without burying the generated photograph. */
.cap-commercial.cap-photo::before{
  background-position:center 46%;
  filter:brightness(1.10) saturate(.98) contrast(1.02);
}
.cap-commercial.cap-photo::after{
  background:
    linear-gradient(to top,
      rgba(7,7,7,.92) 0%,
      rgba(7,7,7,.76) 30%,
      rgba(7,7,7,.42) 50%,
      rgba(7,7,7,.12) 72%,
      rgba(7,7,7,.02) 100%),
    linear-gradient(135deg,rgba(217,181,69,.08),transparent 48%);
}
.cap-commercial .parcel-lines{background:rgba(10,10,10,.08);backdrop-filter:blur(1px)}
@media (max-width:760px){
  .cap-commercial.cap-photo::before{background-position:center 44%;filter:brightness(1.06) saturate(.96) contrast(1.02)}
  .cap-commercial.cap-photo::after{background:linear-gradient(to top,rgba(7,7,7,.94) 0%,rgba(7,7,7,.74) 34%,rgba(7,7,7,.34) 58%,rgba(7,7,7,.06) 100%),linear-gradient(135deg,rgba(217,181,69,.08),transparent 48%)}
}


/* v25 — definitive Commercialization card fix.
   Use a real <img> layer instead of sharing ::before with older decorative/background rules. */
.cap-commercial.cap-photo{
  background:#111;
  isolation:isolate;
}
.cap-commercial.cap-photo::before{
  content:none!important;
  display:none!important;
  background:none!important;
}
.cap-commercial .cap-card-photo-media{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover;
  object-position:center 50%;
  filter:brightness(1.30) contrast(1.04) saturate(1.02);
  transform:scale(1.015);
  transition:transform .45s ease,filter .35s ease;
  pointer-events:none;
}
.cap-commercial.cap-photo:hover .cap-card-photo-media{
  transform:scale(1.035);
  filter:brightness(1.34) contrast(1.05) saturate(1.03);
}
.cap-commercial.cap-photo::after{
  z-index:1;
  background:
    linear-gradient(90deg,
      rgba(7,7,7,.82) 0%,
      rgba(7,7,7,.70) 38%,
      rgba(7,7,7,.44) 58%,
      rgba(7,7,7,.18) 78%,
      rgba(7,7,7,.05) 100%),
    linear-gradient(to top,
      rgba(7,7,7,.72) 0%,
      rgba(7,7,7,.34) 38%,
      rgba(7,7,7,.08) 72%,
      transparent 100%);
}
.cap-commercial.cap-photo > :not(.cap-card-photo-media){position:relative;z-index:3}
.cap-commercial .parcel-lines{
  background:rgba(10,10,10,.10);
  backdrop-filter:blur(1px);
}
@media (max-width:760px){
  .cap-commercial .cap-card-photo-media{
    object-position:58% center;
    filter:brightness(1.24) contrast(1.03) saturate(1.0);
  }
  .cap-commercial.cap-photo::after{
    background:
      linear-gradient(90deg,rgba(7,7,7,.82) 0%,rgba(7,7,7,.62) 52%,rgba(7,7,7,.24) 100%),
      linear-gradient(to top,rgba(7,7,7,.78) 0%,rgba(7,7,7,.34) 45%,rgba(7,7,7,.08) 100%);
  }
}


/* v26 — mobile cleanup for home hero and service-card ornaments.
   The goal is clarity on vertical screens: use the photographic background directly,
   remove the oversized secondary hero window, and simplify decorative figures so they
   support the cards instead of colliding with titles. */
@media (max-width:760px){
  /* Home hero on phones: keep the full photo as the protagonist and hide the separate window. */
  .hero-home{min-height:auto;padding-top:calc(var(--header-h) + 28px);padding-bottom:30px;background-position:64% center}
  .hero-home.has-home-photo::before{background:linear-gradient(180deg,rgba(8,8,8,.78) 0%,rgba(8,8,8,.56) 26%,rgba(8,8,8,.62) 58%,rgba(8,8,8,.86) 100%),linear-gradient(135deg,rgba(217,181,69,.10),transparent 42%)}
  .hero-home::after{opacity:.55;background-size:68px 68px}
  .hero-grid{display:block}
  .hero-copy{max-width:none;position:relative;z-index:3}
  .hero-copy h1{font-size:2.02rem;line-height:1.02;max-width:11ch;margin-bottom:18px}
  .hero-copy>p{font-size:1rem;line-height:1.58;max-width:32ch}
  .hero-copy .actions{gap:12px;flex-wrap:wrap}
  .hero-copy .btn{width:auto;min-width:0}
  .hero-index{margin-top:20px;padding-top:18px;grid-template-columns:1fr 1fr;gap:10px 16px}
  .hero-visual{display:none}
  .hero-track{bottom:12px}

  /* Service cards: calmer ornaments, more breathing room and slightly smaller titles. */
  .cap-grid-six{gap:14px}
  .cap-card,.cap-large,.cap-image{min-height:266px;padding:22px 20px}
  .cap-card h3{font-size:1.16rem;line-height:1.03;max-width:13ch;margin:12px 0 10px}
  .cap-large h3{font-size:1.18rem}
  .cap-card p{font-size:.82rem;line-height:1.48;max-width:24ch}
  .cap-no{top:16px;left:18px;font-size:.84rem}
  .cap-card>b{margin-top:14px}

  /* 01 Earthworks */
  .cap-earth .terrain-lines{display:none}
  .cap-earth::after{background:linear-gradient(to top,rgba(7,7,7,.92) 0%,rgba(7,7,7,.68) 30%,rgba(7,7,7,.24) 62%,rgba(7,7,7,.06) 100%),linear-gradient(135deg,rgba(217,181,69,.10),transparent 44%)}

  /* 02 Materials */
  .cap-materials .material-bars{width:62px;height:62px;top:16px;right:16px;left:auto;border-radius:16px 6px 16px 16px;opacity:.88}
  .cap-materials .material-bars::before{top:20px;left:10px;right:10px;box-shadow:0 12px 0 rgba(217,181,69,.46)}
  .cap-materials .material-bars::after{top:40px;left:10px;right:10px}
  .cap-materials h3,.cap-materials .cap-card-bottom{max-width:12ch}

  /* 03 Paving */
  .cap-paving .asphalt-mark{width:58px;height:58px;right:16px;top:16px;opacity:.82}
  .cap-paving .asphalt-mark::after{inset:14px}
  .cap-paving h3{max-width:13ch}

  /* 04 Rental */
  .cap-rent .rent-symbol{font-size:4.9rem;right:12px;top:10px;opacity:.18}
  .cap-rent::before{inset:0}

  /* 05 Civil */
  .civil-gridmark{width:84px;height:56px;right:16px;top:16px;opacity:.48}
  .civil-gridmark::before{inset:10px;background-size:18px 18px}
  .civil-gridmark::after{left:16px;right:16px;bottom:10px}
  .cap-civil{display:flex;align-items:flex-end}
  .cap-civil > div{max-width:16ch}

  /* 06 Commercial */
  .cap-commercial .parcel-lines{width:74px;height:46px;right:16px;top:16px;border-radius:16px 6px 16px 16px;opacity:.88}
  .cap-commercial .parcel-lines::before{left:10px;right:10px;top:17px;box-shadow:0 11px 0 rgba(217,181,69,.42)}
  .cap-commercial .parcel-lines::after{top:10px;bottom:10px;left:26px;box-shadow:14px 0 0 rgba(217,181,69,.34)}
  .cap-commercial .cap-card-photo-media{object-position:60% center;filter:brightness(1.18) contrast(1.02) saturate(1.0)}
  .cap-commercial.cap-photo::after{background:linear-gradient(180deg,rgba(7,7,7,.48) 0%,rgba(7,7,7,.34) 22%,rgba(7,7,7,.46) 52%,rgba(7,7,7,.84) 100%),linear-gradient(90deg,rgba(7,7,7,.62) 0%,rgba(7,7,7,.28) 52%,rgba(7,7,7,.08) 100%)}
  .cap-commercial h3{max-width:12ch}
}

@media (max-width:430px){
  .hero-copy h1{font-size:1.86rem}
  .hero-copy>p{font-size:.96rem}
  .cap-card,.cap-large,.cap-image{min-height:252px;padding:20px 18px}
  .cap-card h3,.cap-large h3{font-size:1.08rem}
  .cap-card p{font-size:.8rem;max-width:22ch}
  .cap-rent .rent-symbol{font-size:4.4rem}
}


/* v27 — tighter typography scale.
   GOLD should feel authoritative without oversized headings. */
h1{font-size:clamp(1.9rem,2.75vw,2.72rem)}
h2{font-size:clamp(1.45rem,2.05vw,2rem)}
h3{font-size:clamp(1.02rem,1.28vw,1.32rem)}
.eyebrow{font-size:.66rem;letter-spacing:.15em}

/* Home hero and section introductions */
.hero-copy h1{font-size:clamp(2.05rem,3vw,2.85rem);line-height:1.04;max-width:620px}
.hero-copy>p{font-size:.94rem;line-height:1.7;max-width:650px}
.section-head h2,.section-title h2,.visual-direction-head h2{font-size:clamp(1.45rem,2.02vw,1.95rem)}
.section-head p,.intro-copy p,.visual-direction-head p{font-size:.92rem;line-height:1.72}
.operation-panel h3{font-size:clamp(1.05rem,1.32vw,1.3rem)}
.operation-panel p{font-size:.86rem;line-height:1.65}

/* Internal heroes */
.page-hero h1{font-size:clamp(1.9rem,2.8vw,2.65rem);line-height:1.06;max-width:760px}
.page-hero p{font-size:.92rem;line-height:1.7;max-width:700px}

/* Projects / experience */
.project-copy h2{font-size:clamp(1.55rem,2.05vw,2.05rem)}
.project-copy p{font-size:.9rem}
.experience-content h2{font-size:clamp(1.45rem,1.8vw,1.82rem)}

/* Service pages and large editorial titles */
.service-row-copy h2{font-size:clamp(1.45rem,1.95vw,1.95rem)}
.service-row-copy>p{font-size:.9rem}
.commercial-split h2{font-size:clamp(1.42rem,1.9vw,1.88rem)}
.civil-scope-grid h3{font-size:1.16rem}
.service-process b{font-size:clamp(1.12rem,1.72vw,1.62rem)}
.supply-layout h2,.pavement-grid h2,.service-next-grid h2,.rent-focus-grid h2{font-size:clamp(1.42rem,1.95vw,1.9rem)}
.availability-panel h2{font-size:1.4rem}

/* Home operating model: still graphic, but much calmer. */
.operating-words h3{font-size:clamp(1.6rem,2.2vw,2.2rem)}
.operating-words p{font-size:.84rem}

/* Forms/legal/footer */
.contact-info h2,.contact-form-card h2{font-size:clamp(1.38rem,1.85vw,1.8rem)}
.legal-copy h2{font-size:1.18rem}
.footer-cta h2{font-size:1.02rem}

@media (max-width:760px){
  h1{font-size:1.78rem}
  h2{font-size:1.48rem}
  h3{font-size:1.08rem}
  .eyebrow{font-size:.62rem}
  .hero-copy h1{font-size:1.68rem;line-height:1.04;max-width:12ch}
  .hero-copy>p{font-size:.88rem;line-height:1.55;max-width:34ch}
  .page-hero h1{font-size:1.72rem;line-height:1.06}
  .page-hero p{font-size:.86rem;line-height:1.62}
  .section-head h2,.section-title h2,.visual-direction-head h2{font-size:1.45rem;line-height:1.08}
  .section-head p,.intro-copy p,.visual-direction-head p{font-size:.86rem;line-height:1.62}
  .operation-panel h3{font-size:1.08rem}
  .operation-panel p{font-size:.82rem}
  .project-copy h2{font-size:1.5rem}
  .service-row-copy h2{font-size:1.42rem}
  .operating-words h3{font-size:1.65rem}
  .contact-info h2,.contact-form-card h2{font-size:1.38rem}
  .experience-content h2{font-size:1.38rem}
  .commercial-split h2,.supply-layout h2,.pavement-grid h2,.service-next-grid h2,.rent-focus-grid h2{font-size:1.4rem}
}

@media (max-width:430px){
  h1,.page-hero h1{font-size:1.62rem}
  h2{font-size:1.38rem}
  .hero-copy h1{font-size:1.58rem}
  .hero-copy>p{font-size:.84rem}
  .section-head h2,.section-title h2,.visual-direction-head h2{font-size:1.36rem}
  .operating-words h3{font-size:1.52rem}
}
