/*
 * Royaltec — Patrimônio em Movimento
 * Modernismo executivo brasileiro: branco mineral, grafite, azul-petróleo, bronze e Vermelho Royal.
 * A Régua Royal organiza a composição; vermelho é decisão, não preenchimento predominante.
 */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&display=swap");

:root { --mineral:#f3f1ea; --paper:#fbfaf6; --graphite:#1e2424; --ink:#19201f; --muted:#65706e; --royal:#e23b37; --petrol:#315f5d; --petrol-dark:#203b3a; --mint:#8bc3bc; --bronze:#c9a67f; --bronze-dark:#96673e; --line:#c8ccc7; --frame:min(100% - 48px, 1280px); }
* { box-sizing:border-box; } html { scroll-behavior:smooth; background:var(--mineral); } body { margin:0; min-width:320px; color:var(--graphite); background:var(--mineral); font:16px/1.5 Manrope, sans-serif; } img { display:block; width:100%; max-width:100%; } a { color:inherit; text-decoration:none; } button, input, textarea, select { font:inherit; } button, a, select { cursor:pointer; } ::selection { background:var(--royal); color:#fff; }
.page-frame { width:var(--frame); margin-inline:auto; }.section-space { padding-block:128px; }.eyebrow, .number, .micro, .footer-label { font:700 10px/1.2 "Space Grotesk", sans-serif; letter-spacing:.14em; text-transform:uppercase; }.number { color:var(--royal); }.eyebrow { color:var(--muted); }.royal-ruler { position:relative; padding-left:19px; }.royal-ruler::before { content:""; position:absolute; left:0; top:7px; bottom:5px; width:2px; background:var(--royal); } h1,h2,h3 { margin:0; font-family:"Space Grotesk",sans-serif; font-weight:600; letter-spacing:-.06em; } h1 { font-size:clamp(52px,7vw,100px); line-height:.9; } h2 { font-size:clamp(38px,5vw,68px); line-height:.98; } h3 { font-size:25px; line-height:1.04; } p { margin:0; } em { color:var(--royal); font-style:normal; }.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 20px; border:0; font:700 11px "Space Grotesk",sans-serif; letter-spacing:.02em; transition:transform .18s ease,background .18s ease,color .18s ease; }.button:hover { transform:translateY(-2px); }.button:active { transform:scale(.97); }.button--red { color:#fff; background:var(--royal); }.button--dark { color:#fff; background:var(--graphite); }.button--light { color:var(--graphite); background:var(--paper); }.button--outline { color:#fff; border:1px solid rgba(255,255,255,.55); }.text-link { display:inline-flex; align-items:center; gap:10px; font:700 12px "Space Grotesk",sans-serif; transition:gap .2s ease,color .2s ease; }.text-link:hover { gap:15px; color:var(--royal); }

/* Header and mobile navigation */
.site-header { position:fixed; inset:0 0 auto; z-index:30; color:#fff; transition:background .25s ease,box-shadow .25s ease; }.site-header.is-scrolled { color:var(--graphite); background:rgba(243,241,234,.96); box-shadow:0 1px 0 rgba(30,36,36,.09); backdrop-filter:blur(16px); }.header-frame { width:var(--frame); height:82px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }.brand { display:inline-flex; align-items:center; gap:9px; }.brand img { width:35px; height:35px; object-fit:contain; }.brand-wordmark { color:currentColor; font:700 27px/.8 "Space Grotesk",sans-serif; letter-spacing:-.095em; }.brand-wordmark span { color:var(--royal); }.desktop-nav { display:flex; align-items:center; gap:25px; }.desktop-nav a { position:relative; padding:7px 0; font:600 11px "Space Grotesk",sans-serif; color:rgba(255,255,255,.84); }.is-scrolled .desktop-nav a { color:#58615f; }.desktop-nav a::after { content:""; position:absolute; right:0; bottom:1px; left:0; height:1px; background:var(--royal); transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }.desktop-nav a:hover::after,.desktop-nav a.active::after { transform:scaleX(1); }.desktop-nav a.active { color:#fff; }.is-scrolled .desktop-nav a.active { color:var(--graphite); }.header-contact { display:inline-flex; gap:7px; align-items:center; padding-bottom:4px; border-bottom:1px solid rgba(255,255,255,.54); font:600 11px "Space Grotesk",sans-serif; }.is-scrolled .header-contact { border-color:#9ba29f; }.menu-button { display:none; color:currentColor; border:0; background:transparent; font-size:23px; }.mobile-nav { display:none; }

/* Footer */
.site-footer { color:#edf1ee; background:#141b1b; padding:0 max(24px,calc((100vw - 1280px)/2)) 24px; }.footer-topline { height:1px; margin-bottom:64px; background:var(--royal); }.footer-grid { display:grid; grid-template-columns:1.3fr .55fr .8fr; gap:50px; padding-bottom:70px; }.footer-copy { max-width:320px; margin-top:24px; color:#aebbb8; font-size:13px; line-height:1.75; }.footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:13px; }.footer-label { margin-bottom:7px; color:var(--royal); }.footer-links a { color:#d8e0dd; font:500 12px "Space Grotesk",sans-serif; }.footer-links a:hover { color:var(--royal); }.footer-bottom { display:flex; justify-content:space-between; gap:16px; padding-top:20px; border-top:1px solid rgba(221,235,230,.17); color:#83918e; font:600 9px "Space Grotesk",sans-serif; letter-spacing:.07em; text-transform:uppercase; }

/* Shared hero */
.hero { position:relative; min-height:680px; height:min(91vh,810px); display:flex; align-items:flex-end; overflow:hidden; color:#fff; isolation:isolate; }.hero__image { position:absolute; inset:0; z-index:-3; height:100%; object-fit:cover; }.hero__overlay { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,rgba(13,23,27,.9),rgba(13,23,27,.52) 50%,rgba(13,23,27,.12)),linear-gradient(0deg,rgba(12,18,18,.65),transparent 44%); }.hero__grid { position:absolute; z-index:-1; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:125px 125px; mask-image:linear-gradient(90deg,#000,transparent 64%); }.hero__content { position:relative; padding-bottom:128px; }.hero__content::before { content:""; position:absolute; top:4px; bottom:58%; left:-19px; width:2px; background:var(--royal); }.hero__content .eyebrow { display:flex; align-items:center; gap:9px; margin-bottom:28px; color:#e5e9e7; }.hero__content .eyebrow::before { content:""; width:28px; height:1px; background:var(--royal); }.hero__content h1 { max-width:900px; margin-bottom:27px; }.hero__content p { max-width:540px; margin-bottom:30px; color:#e0e8e5; line-height:1.7; }.hero__meta { position:absolute; bottom:25px; left:50%; display:flex; justify-content:space-between; width:var(--frame); color:rgba(255,255,255,.68); transform:translateX(-50%); font:700 9px "Space Grotesk",sans-serif; letter-spacing:.12em; }.hero--climate .hero__content::before { background:var(--mint); }.hero--climate .hero__content .eyebrow::before { background:var(--mint); }.hero--climate em { color:var(--mint); }.hero--climate .button--red { background:#397572; }.hero--development .button--red { background:#99683e; }.hero--development em { color:#d0a578; }.hero--development .hero__grid { right:0; left:auto; width:53%; opacity:.34; mask-image:none; }

/* Home */
.home-hero { min-height:760px; height:min(100vh,900px); }.home-hero .hero__content h1 { max-width:820px; }.hero-actions { display:flex; align-items:center; gap:26px; }.hero-scroll { position:absolute; right:max(24px,calc((100vw - 1280px)/2)); bottom:24px; display:grid; width:55px; height:55px; place-items:center; color:#fff; background:var(--royal); font-size:20px; }.section-heading { display:grid; grid-template-columns:160px minmax(0,1fr); gap:30px; }.section-heading__meta { display:flex; flex-direction:column; gap:13px; padding-top:11px; }.section-heading__copy { max-width:770px; }.section-heading h2 { margin-bottom:25px; }.section-heading p { max-width:530px; color:#626c69; line-height:1.75; }.business-intro .section-heading { margin-bottom:70px; }.business-panels { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.business-panel { position:relative; display:flex; min-height:500px; padding:31px 33px; overflow:hidden; flex-direction:column; justify-content:space-between; transition:transform .25s ease; }.business-panel:hover { transform:translateY(-6px); }.business-panel--climate { color:#f8f6ef; background:#1e292a; }.business-panel--development { color:var(--graphite); background:#d9e1de; }.panel-top { display:flex; justify-content:space-between; font:700 10px "Space Grotesk",sans-serif; letter-spacing:.13em; text-transform:uppercase; opacity:.82; }.panel-main { position:relative; z-index:1; max-width:480px; }.panel-tag { display:block; margin-bottom:18px; color:var(--royal); font:700 10px "Space Grotesk",sans-serif; letter-spacing:.14em; text-transform:uppercase; }.business-panel--climate .panel-tag { color:var(--mint); }.business-panel h3 { margin-bottom:20px; font-size:clamp(33px,3.4vw,48px); }.business-panel p { max-width:380px; color:#bfcac7; font-size:14px; line-height:1.7; }.business-panel--development p { color:#52605d; }.panel-link { position:relative; z-index:1; display:inline-flex; gap:9px; align-items:center; font:700 12px "Space Grotesk",sans-serif; }.panel-circles { position:absolute; right:-90px; bottom:-100px; width:440px; height:440px; border:1px solid rgba(160,213,206,.34); border-radius:50%; }.panel-circles::before,.panel-circles::after { position:absolute; content:""; border:1px solid rgba(160,213,206,.28); border-radius:50%; inset:72px; }.panel-circles::after { inset:148px; }.panel-plot { position:absolute; right:-60px; bottom:39px; width:70%; height:53%; background:repeating-linear-gradient(90deg,transparent 0 54px,rgba(30,36,36,.17) 55px 57px),repeating-linear-gradient(0deg,transparent 0 54px,rgba(30,36,36,.17) 55px 57px); transform:perspective(500px) rotateX(52deg) rotateZ(-4deg); }.method-section { padding-block:108px; background:#e0e7e4; }.method-heading { display:grid; grid-template-columns:50px 220px 1fr; gap:15px; padding-bottom:55px; border-bottom:1px solid rgba(30,36,36,.18); }.method-heading p { max-width:520px; color:#44504d; line-height:1.72; }.process-grid { display:grid; grid-template-columns:repeat(4,1fr); }.process { min-height:220px; padding:32px 28px 5px 0; border-right:1px solid rgba(30,36,36,.18); }.process+ .process { padding-left:28px; }.process:last-child { border:0; }.process .number { display:block; margin-bottom:47px; }.process h3 { margin-bottom:10px; font-size:22px; }.process p { max-width:210px; color:#596361; font-size:13px; line-height:1.7; }.climate-feature { background:var(--mineral); }.climate-feature__grid { display:grid; grid-template-columns:1.12fr .88fr; gap:95px; align-items:center; }.feature-image { position:relative; min-height:580px; overflow:hidden; }.feature-image img { height:580px; object-fit:cover; filter:saturate(.78); }.feature-image::after { position:absolute; inset:0; content:""; background:linear-gradient(0deg,rgba(19,29,31,.67),transparent 42%); }.feature-caption { position:absolute; z-index:1; bottom:25px; left:24px; color:#e7eeeb; font:600 10px "Space Grotesk",sans-serif; letter-spacing:.07em; text-transform:uppercase; }.feature-ruler { position:absolute; z-index:1; top:0; right:0; padding:12px 14px; color:#fff; background:#397572; writing-mode:vertical-rl; }.climate-feature .section-heading { display:block; }.climate-feature .section-heading__meta { flex-direction:row; padding:0; margin-bottom:17px; }.climate-feature em { color:#397572; }.capabilities { display:grid; grid-template-columns:1fr 1fr; margin:35px 0; border-top:1px solid var(--line); }.capabilities span { padding:15px 8px 15px 0; border-bottom:1px solid var(--line); color:#44504d; font:600 11px "Space Grotesk",sans-serif; }.development-band { position:relative; padding-block:112px; overflow:hidden; color:var(--mineral); background:#20302f; }.development-band::before { position:absolute; inset:0; content:""; opacity:.32; background:linear-gradient(90deg,transparent 0 7%,rgba(176,202,197,.45) 7.1% 7.2%,transparent 7.3% 28%,rgba(176,202,197,.45) 28.1% 28.2%,transparent 28.3% 54%,rgba(176,202,197,.45) 54.1% 54.2%,transparent 54.3%); }.development-band__grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:100px; align-items:end; }.development-band h2 { margin-top:30px; }.development-band h2 em { color:#d0a578; }.development-band p { max-width:460px; color:#c8d5d1; line-height:1.75; }.development-types { display:flex; gap:21px; flex-wrap:wrap; margin:32px 0; color:#e8eeec; font:700 10px "Space Grotesk",sans-serif; letter-spacing:.12em; text-transform:uppercase; }.development-types span::before { display:inline-block; width:5px; height:5px; margin:0 7px 2px 0; content:""; background:var(--bronze); }.proof-section { background:var(--paper); }.proof-grid { display:grid; grid-template-columns:.55fr 1.15fr .7fr; gap:45px; align-items:end; }.proof-number { color:#20302f; font:600 clamp(100px,14vw,185px)/.7 "Space Grotesk",sans-serif; letter-spacing:-.11em; }.proof-number span { color:var(--royal); font-size:.45em; vertical-align:top; }.proof-copy h2 { margin-top:15px; font-size:clamp(28px,3.2vw,45px); }.proof-note { padding:7px 0 7px 22px; border-left:1px solid #ccd2ce; color:#60706c; font-size:12px; line-height:1.7; }.closing-cta { padding-block:103px; color:#fff; background:#203837; }.closing-cta__grid { display:flex; align-items:end; justify-content:space-between; gap:50px; }.closing-cta h2 { margin-top:18px; }.closing-cta .eyebrow { color:#b6cbc7; }.cta-round { display:flex; width:142px; height:142px; align-items:center; justify-content:center; border-radius:50%; color:#fff; background:var(--royal); text-align:center; font:600 12px/1.25 "Space Grotesk",sans-serif; transition:transform .25s ease; }.cta-round:hover { transform:rotate(8deg) scale(1.04); }

/* Climatização */
.climate-page .royal-ruler::before { background:var(--mint); }.climate-page .number { color:#4e8f8a; }.climate-page em { color:#4e8f8a; }.intro-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:end; }.intro-grid .section-heading { display:block; }.intro-grid .section-heading__meta { display:flex; flex-direction:row; gap:13px; margin-bottom:17px; }.intro-copy { padding-bottom:8px; color:#4b5754; line-height:1.78; }.pills { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }.pills span { padding:7px 9px; border:1px solid #b9c6c1; color:#38524f; font:700 9px "Space Grotesk",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.solutions { padding-block:106px; color:#f4f2eb; background:var(--petrol-dark); }.solutions-heading { display:flex; align-items:end; justify-content:space-between; gap:60px; padding-bottom:39px; border-bottom:1px solid rgba(231,238,234,.24); }.solutions-heading .eyebrow { color:#9ecac5; }.solutions-heading p { max-width:365px; color:#c5d0cd; font-size:14px; line-height:1.7; }.solutions-grid { display:grid; grid-template-columns:repeat(4,1fr); }.solution { position:relative; min-height:315px; padding:27px 25px 0 0; }.solution+ .solution { padding-left:25px; }.solution:not(:last-child) { border-right:1px solid rgba(231,238,234,.24); }.solution-top { display:flex; align-items:flex-start; justify-content:space-between; color:#acbfba; font:700 10px "Space Grotesk",sans-serif; letter-spacing:.12em; }.solution h3 { margin:73px 0 13px; font-size:26px; }.solution p { max-width:230px; color:#bdc9c5; font-size:13px; line-height:1.72; }.solution::after { position:absolute; right:0; bottom:0; left:0; height:3px; content:""; background:var(--mint); transform:scaleX(0); transform-origin:left; transition:transform .28s ease; }.solution:hover::after { transform:scaleX(1); }.flow-section { background:#e4e9e6; }.flow-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:100px; align-items:center; }.flow-art { position:relative; display:grid; min-height:440px; overflow:hidden; color:#9acac3; background:#263f3e; place-items:center; }.flow-art::before { position:absolute; width:425px; height:425px; border:1px solid rgba(204,234,225,.36); border-radius:50%; content:""; }.flow-art::after { position:absolute; width:46px; height:110%; content:""; background:rgba(120,184,178,.73); transform:rotate(38deg); }.flow-art span { position:relative; z-index:1; font:700 31px "Space Grotesk",sans-serif; }.flow-copy .section-heading { display:block; }.flow-copy .section-heading__meta { display:flex; flex-direction:row; gap:13px; margin-bottom:17px; }.stage-list { padding:0; margin:38px 0 0; list-style:none; border-top:1px solid #b5c3bf; }.stage-list li { display:grid; min-height:58px; grid-template-columns:42px 1fr 25px; align-items:center; border-bottom:1px solid #b5c3bf; color:#31413e; font:600 13px "Space Grotesk",sans-serif; }.stage-list span { color:#4e8f8a; font-size:10px; }.climate-cta { padding-block:75px; color:#fff; background:var(--petrol); }.climate-cta__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; align-items:end; }.climate-cta h2 { margin-top:20px; font-size:clamp(34px,4vw,54px); }.climate-cta p { max-width:390px; color:#d8ebe6; font-size:14px; line-height:1.75; }.climate-cta .button { margin-top:15px; }

/* Desenvolvimentos */
.developments-page em { color:var(--bronze-dark); }.developments-page .number { color:var(--bronze-dark); }.development-intro { background:#f7f5ef; }.development-intro__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:90px; align-items:end; }.development-intro .section-heading { display:block; }.development-intro .section-heading__meta { display:flex; flex-direction:row; gap:13px; margin-bottom:17px; }.development-intro p { color:#4c5754; line-height:1.78; }.development-note { display:block; margin-top:27px; color:var(--bronze-dark); font:700 10px "Space Grotesk",sans-serif; letter-spacing:.14em; }.asset-types { padding-block:105px; background:#e6e3dc; }.asset-types__intro { display:flex; align-items:end; justify-content:space-between; gap:40px; padding-bottom:38px; }.asset-types__intro p { max-width:415px; color:#4e5a57; font-size:14px; line-height:1.7; }.asset-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.asset-card { overflow:hidden; background:#f7f5ef; transition:transform .25s ease; }.asset-card:hover { transform:translateY(-6px); }.asset-card__image { height:290px; object-fit:cover; filter:saturate(.75); }.asset-card__copy { position:relative; min-height:205px; padding:23px 24px 25px; }.asset-card__copy .number { font-size:10px; }.asset-card h3 { margin:34px 0 10px; font-size:30px; }.asset-card p { color:#65706e; font-size:12px; line-height:1.7; }.criteria { background:#f7f5ef; }.criteria-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; }.criteria .section-heading { display:block; }.criteria .section-heading__meta { display:flex; flex-direction:row; gap:13px; margin-bottom:17px; }.criteria-list { border-top:1px solid #c7cdca; }.criteria-item { display:grid; grid-template-columns:40px 50px 1fr; gap:13px; padding-block:25px; border-bottom:1px solid #c7cdca; }.criteria-item .icon { color:#7e6043; font-size:22px; }.criteria-item h3 { margin-bottom:7px; font-size:20px; }.criteria-item p { color:#65706d; font-size:13px; line-height:1.68; }.development-cta { padding-block:93px; background:var(--bronze); }.development-cta__grid { display:flex; align-items:end; justify-content:space-between; gap:50px; }.development-cta .eyebrow { color:#63462d; }.development-cta h2 { margin-top:17px; }.development-cta h2 em { color:#79502e; }

/* Sobre and contact */
.about-hero { position:relative; min-height:640px; padding-top:180px; overflow:hidden; background:#dfe6e3; }.about-hero::before { position:absolute; inset:0; content:""; opacity:.4; background-image:linear-gradient(#8ba7a1 1px,transparent 1px),linear-gradient(90deg,#8ba7a1 1px,transparent 1px); background-size:108px 108px; mask-image:linear-gradient(90deg,#000 20%,transparent 79%); }.about-hero__content { position:relative; }.about-hero__content::before { position:absolute; top:4px; left:-19px; width:2px; height:87px; content:""; background:var(--royal); }.about-hero h1 { max-width:800px; margin-bottom:27px; }.about-hero em { color:#4e817c; }.about-hero p { max-width:550px; color:#4e5b58; line-height:1.75; }.about-mark { position:absolute; right:1%; bottom:-54px; color:#ced9d5; font:600 clamp(250px,43vw,610px)/.75 "Space Grotesk",sans-serif; letter-spacing:-.16em; }.about-story { position:relative; overflow:hidden; background:#f7f5ef; }.about-story::after { position:absolute; right:-175px; bottom:-220px; width:410px; height:410px; border:1px solid rgba(76,118,111,.25); content:""; transform:rotate(45deg); }.about-story__grid { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:100px; }.about-story .section-heading { display:block; }.about-story .section-heading__meta { display:flex; flex-direction:row; gap:13px; margin-bottom:17px; }.about-story p { color:#52605c; line-height:1.78; }.about-story p+p { margin-top:17px; }.about-story .text-link { margin-top:24px; }.commitment { padding-block:112px; color:var(--mineral); background:#1f2c2c; }.commitment-heading { display:grid; grid-template-columns:48px 200px 1fr; gap:12px; }.commitment-heading .eyebrow { color:#a9bbb7; }.commitment-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:66px; border-top:1px solid rgba(235,242,239,.24); }.commitment-card { min-height:210px; padding:28px 25px 3px 0; }.commitment-card+.commitment-card { padding-left:25px; border-left:1px solid rgba(235,242,239,.24); }.commitment-card .icon { color:var(--royal); font-size:25px; }.commitment-card h3 { margin:42px 0 12px; }.commitment-card p { max-width:260px; color:#becbc8; font-size:13px; line-height:1.7; }.about-business { background:#e1e7e4; }.about-business__grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; align-items:end; }.about-business h2 { margin-top:25px; }.business-links { border-top:1px solid #b6c1bd; }.business-link { display:grid; grid-template-columns:42px 1fr 30px; gap:14px; align-items:center; padding-block:23px; border-bottom:1px solid #b6c1bd; transition:padding .2s ease,color .2s ease; }.business-link:hover { padding-left:10px; color:var(--royal); }.business-link h3 { margin-bottom:5px; font-size:23px; }.business-link p { color:#5b6864; font-size:12px; }.business-link .arrow { justify-self:end; font-size:20px; }.contact-hero { position:relative; padding:168px 0 95px; overflow:hidden; color:#f5f3ec; background:#233333; }.contact-hero::before { position:absolute; top:-210px; right:-85px; width:680px; height:680px; border:1px solid rgba(200,226,219,.25); content:""; transform:rotate(45deg); }.contact-hero__grid { position:relative; display:grid; grid-template-columns:1fr .76fr; gap:100px; align-items:end; }.contact-lead { position:relative; }.contact-lead::before { position:absolute; top:4px; left:-19px; width:2px; height:87px; content:""; background:var(--royal); }.contact-hero h1 { margin-bottom:25px; }.contact-hero p { max-width:520px; color:#c8d3d0; line-height:1.7; }.quick-links { border-top:1px solid rgba(227,240,235,.32); }.quick-links a { display:grid; min-height:74px; grid-template-columns:32px 1fr 20px; align-items:center; gap:9px; border-bottom:1px solid rgba(227,240,235,.32); font:600 12px "Space Grotesk",sans-serif; }.quick-links small { display:block; margin-bottom:5px; color:#aabcb8; font-size:9px; letter-spacing:.11em; }.contact-form-section { position:relative; overflow:hidden; background:#f7f5ef; }.contact-form-section::before { position:absolute; top:-170px; right:-210px; width:470px; height:470px; content:""; opacity:.38; background-image:linear-gradient(rgba(88,119,113,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(88,119,113,.35) 1px,transparent 1px); background-size:48px 48px; transform:rotate(45deg); }.contact-form__grid { position:relative; display:grid; grid-template-columns:.8fr 1.2fr; gap:115px; }.contact-intro h2 { margin:30px 0 23px; }.contact-intro p { max-width:330px; color:#66716e; font-size:14px; line-height:1.75; }.royal-form { display:grid; gap:22px; }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.royal-form label { display:grid; gap:8px; color:#53615e; font:700 9px "Space Grotesk",sans-serif; letter-spacing:.11em; text-transform:uppercase; }.royal-form input,.royal-form textarea,.royal-form select { width:100%; padding:12px 1px 10px; border:0; border-bottom:1px solid #abb6b2; outline:0; background:transparent; color:var(--graphite); font:500 14px Manrope,sans-serif; }.royal-form textarea { min-height:105px; resize:vertical; }.royal-form input:focus,.royal-form textarea:focus,.royal-form select:focus { border-color:var(--royal); }.form-message { min-height:18px; color:#397572; font-size:12px; }

@media (max-width:900px) { :root { --frame:min(100% - 40px,1280px); }.desktop-nav,.header-contact { display:none; }.menu-button { display:block; }.mobile-nav { display:block; position:absolute; top:0; right:0; left:0; padding:100px 24px 28px; visibility:hidden; opacity:0; color:#f5f3ec; background:#1d2828; transform:translateY(-15px); transition:opacity .23s ease,transform .23s ease,visibility .23s; }.mobile-nav.is-open { visibility:visible; opacity:1; transform:translateY(0); }.mobile-nav a { display:grid; grid-template-columns:36px 1fr 24px; align-items:center; gap:8px; padding-block:16px; border-bottom:1px solid rgba(234,242,238,.2); font:600 20px "Space Grotesk",sans-serif; }.mobile-nav a span { color:var(--royal); font-size:10px; }.mobile-nav nav { border-top:1px solid rgba(234,242,238,.2); }.section-space { padding-block:90px; }.section-heading,.climate-feature__grid,.intro-grid,.development-intro__grid,.criteria-grid,.about-story__grid,.about-business__grid,.contact-hero__grid,.contact-form__grid { grid-template-columns:1fr; gap:50px; }.section-heading { padding-left:15px; }.section-heading__meta { flex-direction:row; padding:0; }.business-panels,.development-band__grid,.proof-grid,.flow-grid,.climate-cta__grid { grid-template-columns:1fr; gap:52px; }.method-heading { grid-template-columns:50px 1fr; }.method-heading p { grid-column:2; }.process-grid { grid-template-columns:1fr 1fr; }.process:nth-child(2) { border-right:0; }.process:nth-child(3) { padding-left:0; border-top:1px solid rgba(30,36,36,.18); }.process:nth-child(4) { border-top:1px solid rgba(30,36,36,.18); }.solutions-grid { grid-template-columns:1fr 1fr; }.solution:nth-child(2) { border-right:0; }.solution:nth-child(3) { padding-left:0; border-top:1px solid rgba(231,238,234,.24); }.solution:nth-child(4) { border-top:1px solid rgba(231,238,234,.24); }.asset-grid { grid-template-columns:1fr 1fr; }.asset-card:last-child { grid-column:span 2; }.commitment-heading { grid-template-columns:48px 1fr; }.commitment-heading h2 { grid-column:2; }.commitment-grid { grid-template-columns:1fr; }.commitment-card,.commitment-card+.commitment-card { min-height:auto; padding:28px 0; border-left:0; border-bottom:1px solid rgba(235,242,239,.24); }.commitment-card:last-child { border-bottom:0; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-brand { grid-column:span 2; }.closing-cta__grid,.development-cta__grid { align-items:flex-start; flex-direction:column; }.feature-image,.feature-image img { min-height:430px; height:430px; }.asset-card__image { height:265px; }.contact-form__grid { gap:60px; } }
@media (max-width:600px) { :root { --frame:min(100% - 36px,1280px); }.header-frame { height:73px; }.hero { min-height:630px; height:88vh; }.home-hero { min-height:680px; height:91vh; }.hero__content { padding-bottom:100px; }.hero__content h1,.about-hero h1,.contact-hero h1 { font-size:clamp(44px,13vw,65px); }.hero__content p { font-size:14px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }.hero__meta { bottom:20px; font-size:7px; gap:15px; }.hero__meta span:last-child { text-align:right; }.business-panels,.process-grid,.solutions-grid,.asset-grid,.commitment-grid { grid-template-columns:1fr; }.business-panel { min-height:400px; padding:25px; }.process,.process+.process { min-height:160px; padding:25px 0; border:0; border-bottom:1px solid rgba(30,36,36,.18); }.process:last-child { border:0; }.process .number { margin-bottom:25px; }.solution,.solution+.solution { min-height:235px; padding:25px 0; border:0; border-bottom:1px solid rgba(231,238,234,.24); }.solution h3 { margin-top:42px; }.solution:last-child { border:0; }.asset-card:last-child { grid-column:auto; }.asset-card__image { height:245px; }.criteria-item { grid-template-columns:31px 39px 1fr; gap:8px; }.feature-image,.feature-image img { min-height:350px; height:350px; }.capabilities { grid-template-columns:1fr; }.proof-number { font-size:115px; }.about-hero { min-height:550px; padding-top:145px; }.about-mark { right:2px; bottom:-23px; font-size:260px; }.contact-hero { padding:136px 0 68px; }.form-row { grid-template-columns:1fr; gap:22px; }.footer-grid { grid-template-columns:1fr; gap:37px; padding-bottom:45px; }.footer-brand { grid-column:auto; }.footer-bottom { flex-direction:column; }.cta-round { width:118px; height:118px; } }
