:root { --ink:#111a3c; --purple:#5d2d91; --purple-dark:#3d176c; --teal:#078d91; --green:#6d9d35; --cream:#f7f3e9; --line:#ded8cb; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { height:92px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:20; background:rgba(247,243,233,.92); backdrop-filter:blur(18px); border-bottom:1px solid rgba(17,26,60,.08); }
.brand-crop { width:320px; height:70px; position:relative; overflow:hidden; flex:none; }
.brand-crop img { position:absolute; width:720px; max-width:none; left:-405px; top:-105px; }
nav { display:flex; gap:30px; font-size:14px; font-weight:700; }
nav a { padding:10px 0; border-bottom:2px solid transparent; }
nav a:hover { color:var(--purple); border-color:var(--purple); }
.header-cta { padding:13px 22px; border:1px solid var(--purple); border-radius:999px; font-weight:800; font-size:14px; color:var(--purple); }
.hero { min-height:720px; display:grid; grid-template-columns:46% 54%; align-items:stretch; overflow:hidden; }
.hero-copy { padding:90px 28px 54px clamp(28px,5vw,80px); display:flex; flex-direction:column; justify-content:center; }
.eyebrow { margin:0 0 24px; text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:800; color:var(--purple); display:flex; align-items:center; gap:10px; }
.eyebrow span { width:34px; height:2px; background:currentColor; }
h1 { font-size:clamp(52px,6vw,92px); line-height:.93; letter-spacing:-.055em; margin:0; max-width:780px; }
h1 em { color:var(--purple); font-style:normal; }
.hero-lead { max-width:680px; font-size:20px; line-height:1.55; color:#495064; margin:30px 0; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.primary-button { background:var(--purple); color:white; padding:18px 24px; border-radius:8px; font-weight:800; box-shadow:0 12px 28px rgba(93,45,145,.22); }
.primary-button span { margin-left:18px; }
.primary-button:hover { background:var(--purple-dark); transform:translateY(-2px); }
.text-link { font-weight:800; font-size:14px; }
.hero-proof { margin-top:54px; padding-top:24px; border-top:1px solid var(--line); display:flex; gap:46px; }
.hero-proof div { display:flex; flex-direction:column; gap:6px; }
.hero-proof strong { font-size:14px; }
.hero-proof span { font-size:12px; color:#6d7180; }
.hero-visual { position:relative; min-height:720px; overflow:hidden; border-bottom-left-radius:90px; }
.hero-visual>img { width:100%; height:100%; object-fit:cover; object-position:left center; filter:saturate(.92); }
.hero-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(247,243,233,.16),transparent 35%),linear-gradient(0deg,rgba(17,26,60,.28),transparent 40%); }
.visual-label { position:absolute; z-index:2; background:rgba(255,255,255,.92); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.7); padding:12px 16px; border-radius:10px; display:flex; gap:10px; align-items:center; box-shadow:0 10px 30px rgba(17,26,60,.12); font-size:12px; font-weight:800; }
.visual-label b { color:var(--purple); }.label-one { top:20%; left:9%; }.label-two { top:44%; right:7%; }.label-three { bottom:14%; left:18%; }
.connection-strip { margin-top:-1px; padding:25px clamp(24px,5vw,80px); color:white; background:var(--ink); display:flex; justify-content:center; align-items:center; gap:clamp(12px,2vw,32px); text-transform:uppercase; letter-spacing:.12em; font-size:11px; font-weight:800; }
.connection-strip i { color:#63c5bd; font-style:normal; }
.section { padding:110px clamp(28px,6vw,92px); }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:60px; margin-bottom:54px; }
.section-heading h2,.method-intro h2,.about-copy h2,.contact-section h2 { margin:0; font-size:clamp(38px,4vw,62px); line-height:1.03; letter-spacing:-.04em; }
.section-heading>p,.method-intro>p,.about-copy>p { color:#626779; line-height:1.7; font-size:17px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.service-card { background:#fffdf8; border:1px solid var(--line); border-radius:16px; padding:28px; min-height:410px; position:relative; overflow:hidden; transition:.25s ease; }
.service-card:after { content:""; height:5px; position:absolute; left:0; right:0; bottom:0; background:var(--accent); }
.service-card:hover { transform:translateY(-6px); box-shadow:0 18px 40px rgba(17,26,60,.09); }
.service-card.purple{--accent:var(--purple)}.service-card.teal{--accent:var(--teal)}.service-card.green{--accent:var(--green)}.service-card.blue{--accent:#166fc0}
.service-icon { width:58px; height:58px; border-radius:50%; background:color-mix(in srgb,var(--accent) 13%,white); color:var(--accent); display:grid; place-items:center; font-size:28px; font-weight:800; }
.card-number { position:absolute; right:24px; top:22px; color:#b6b0a6; font-size:12px; letter-spacing:.15em; }
.service-card h3 { font-size:24px; line-height:1.1; margin:30px 0 16px; }
.service-card>p { color:#666b78; font-size:14px; line-height:1.65; }
.service-card ul { list-style:none; padding:0; margin:26px 0 0; display:flex; flex-wrap:wrap; gap:7px; }
.service-card li { border:1px solid #e5e0d7; border-radius:999px; padding:6px 9px; font-size:10px; font-weight:700; }
.method-section { background:var(--ink); color:white; padding:110px clamp(28px,6vw,92px); display:grid; grid-template-columns:.85fr 1.15fr; gap:9vw; }
.eyebrow.light { color:#79d3c8; }
.method-intro>p { color:#bdc2d3; max-width:560px; }
.method-list { list-style:none; margin:0; padding:0; }
.method-list li { padding:27px 0; border-bottom:1px solid rgba(255,255,255,.16); display:grid; grid-template-columns:72px 1fr; gap:20px; }
.method-list b { color:#79d3c8; font-size:13px; letter-spacing:.14em; }
.method-list h3 { margin:0 0 8px; font-size:22px; }.method-list p { margin:0; color:#adb5ca; line-height:1.5; }
.compact { margin-bottom:40px; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.project-card { background:#fffdf8; padding:30px; border:1px solid var(--line); border-radius:16px; min-height:310px; display:flex; flex-direction:column; }
.project-top { display:flex; justify-content:space-between; gap:15px; color:var(--purple); font-weight:800; font-size:11px; text-transform:uppercase; letter-spacing:.08em; }.project-top small { color:#7f8390; }
.project-card h3 { font-size:27px; line-height:1.15; margin:48px 0 16px; }.project-card p { color:#666b78; line-height:1.6; font-size:14px; }.project-line { height:3px; background:linear-gradient(90deg,var(--purple),var(--teal),var(--green)); margin-top:auto; width:54%; }
.about-section { margin:0 clamp(28px,6vw,92px) 110px; border-radius:24px; overflow:hidden; display:grid; grid-template-columns:.8fr 1.2fr; background:#e9e1f1; min-height:500px; }
.about-mark { background:linear-gradient(145deg,#e0f2ef,#f4efdf); display:grid; place-items:center; }.mark-crop { width:300px; height:300px; overflow:hidden; border-radius:50%; position:relative; box-shadow:0 28px 60px rgba(17,26,60,.15); background:white; }.mark-crop img { position:absolute; width:900px; max-width:none; left:-320px; top:-118px; }
.about-copy { padding:70px; align-self:center; }.values { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }.values span { background:white; padding:10px 14px; border-radius:999px; font-size:12px; font-weight:800; }
.contact-section { margin:0 clamp(28px,6vw,92px); border-radius:24px; padding:70px; background:linear-gradient(120deg,var(--purple-dark),var(--purple) 55%,var(--teal)); color:white; display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; }.contact-section p { max-width:700px; color:#e5ddef; line-height:1.6; }.contact-button { background:white; color:var(--ink); padding:20px 26px; border-radius:8px; font-weight:800; white-space:nowrap; }.contact-button span { margin-left:26px; color:var(--purple); }
footer { margin-top:70px; padding:50px clamp(28px,6vw,92px); border-top:1px solid var(--line); display:grid; grid-template-columns:1.2fr 1fr 1fr auto; align-items:center; gap:30px; }.footer-brand { font-weight:900; letter-spacing:.08em; font-size:22px; }.footer-brand small { display:block; font-size:8px; letter-spacing:.32em; color:var(--teal); margin-top:5px; }footer p,footer>small{font-size:12px;color:#707584}footer>div:nth-child(3){display:flex;gap:18px;font-size:12px;font-weight:800}
@media(max-width:1050px){nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding-bottom:70px}.hero-visual{min-height:520px;border-radius:0}.service-grid{grid-template-columns:repeat(2,1fr)}.method-section{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.about-section{grid-template-columns:1fr}.about-mark{min-height:420px}.section-heading{grid-template-columns:1fr}.contact-section{grid-template-columns:1fr}footer{grid-template-columns:1fr 1fr}.connection-strip{flex-wrap:wrap}}
@media(max-width:650px){.site-header{height:76px;padding:0 18px}.brand-crop{width:220px;height:58px}.brand-crop img{width:520px;left:-293px;top:-76px}.header-cta{display:none}.hero-copy{padding:62px 22px}.hero{min-height:auto}.hero-lead{font-size:17px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-proof{gap:20px}.hero-visual{min-height:400px}.label-two{right:4%}.connection-strip{justify-content:flex-start}.service-grid{grid-template-columns:1fr}.section,.method-section{padding:80px 22px}.about-section,.contact-section{margin-left:18px;margin-right:18px}.about-copy,.contact-section{padding:38px 24px}.mark-crop{width:230px;height:230px}.mark-crop img{width:690px;left:-245px;top:-90px}.contact-button{width:100%;text-align:center}.hero-proof{flex-direction:column}footer{grid-template-columns:1fr;padding:42px 22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Editorial sustainability direction */
body{overflow-x:hidden}
.hero{min-height:780px;grid-template-columns:45% 55%;position:relative;background:radial-gradient(circle at 10% 14%,rgba(109,157,53,.16),transparent 24%),radial-gradient(circle at 42% 75%,rgba(93,45,145,.13),transparent 31%),var(--cream)}
.hero:before{content:"";position:absolute;width:640px;height:190px;border:1px solid rgba(7,141,145,.2);border-radius:50%;left:-220px;bottom:-110px;transform:rotate(8deg);box-shadow:0 0 0 32px rgba(7,141,145,.035),0 0 0 70px rgba(93,45,145,.025)}
.hero-copy{position:relative;z-index:2;padding-top:95px;padding-bottom:65px}
h1{font-size:clamp(56px,6.2vw,98px);line-height:.91;text-wrap:balance}
.primary-button{background:linear-gradient(120deg,var(--purple-dark),var(--purple));border-radius:11px;box-shadow:0 16px 34px rgba(93,45,145,.3);transition:.25s ease}
.hero-visual{min-height:780px;border-bottom-left-radius:135px;box-shadow:-20px 28px 70px rgba(17,26,60,.15)}
.hero-visual>img{object-position:center center;filter:saturate(1.12) contrast(1.02);transform:scale(1.02)}
.hero-visual:after{z-index:2;background:linear-gradient(90deg,rgba(247,243,233,.16),transparent 30%),linear-gradient(0deg,rgba(10,72,73,.42),transparent 45%)}
.visual-label{z-index:5;background:rgba(255,255,255,.9);backdrop-filter:blur(13px);border-radius:13px;padding:14px 17px;box-shadow:0 16px 42px rgba(17,26,60,.19)}
.label-one{top:17%;left:7%}.label-two{top:44%;right:5%}.label-three{bottom:15%;left:10%}
.hero-orbit{position:absolute;z-index:3;border:1px solid rgba(255,255,255,.72);border-radius:50%;pointer-events:none}.orbit-one{width:330px;height:330px;right:-130px;top:9%;box-shadow:0 0 0 24px rgba(255,255,255,.09),0 0 0 54px rgba(255,255,255,.05)}.orbit-two{width:180px;height:180px;left:-82px;bottom:18%}
.hero-seal{position:absolute;z-index:6;right:7%;bottom:7%;width:118px;height:118px;border-radius:50%;background:linear-gradient(145deg,var(--purple),var(--teal));color:white;display:grid;place-content:center;text-align:center;box-shadow:0 18px 40px rgba(17,26,60,.3);border:5px solid rgba(255,255,255,.8)}
.hero-seal strong{font-size:28px;line-height:1}.hero-seal span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;margin-top:5px}
.connection-strip{background:linear-gradient(90deg,var(--ink),#17255d 55%,#126c70);padding-top:29px;padding-bottom:29px;position:relative;overflow:hidden}
.connection-strip:after{content:"";position:absolute;width:360px;height:96px;border:1px solid rgba(255,255,255,.17);border-radius:50%;right:-80px;top:28px;box-shadow:0 0 0 18px rgba(255,255,255,.035)}
.section{position:relative}
.services-section{background:linear-gradient(180deg,#f7f3e9 0%,#f0ebde 100%);overflow:hidden;padding-top:125px;padding-bottom:125px}
.decor-leaf{position:absolute;width:270px;height:480px;border-radius:100% 0 100% 0;background:linear-gradient(150deg,rgba(109,157,53,.2),rgba(7,141,145,.04));right:-125px;top:22px;transform:rotate(28deg)}
.decor-wave{position:absolute;width:590px;height:155px;border:1px solid rgba(93,45,145,.14);border-radius:50%;left:-235px;bottom:8px;box-shadow:0 0 0 26px rgba(7,141,145,.04),0 0 0 52px rgba(109,157,53,.03)}
.service-card{border-radius:23px;min-height:430px;box-shadow:0 12px 34px rgba(17,26,60,.05)}
.service-card:before{content:"";position:absolute;width:155px;height:155px;border-radius:50%;background:color-mix(in srgb,var(--accent) 9%,transparent);right:-65px;top:-65px;box-shadow:0 0 0 22px color-mix(in srgb,var(--accent) 3%,transparent)}
.method-section{background:radial-gradient(circle at 7% 86%,rgba(7,141,145,.3),transparent 28%),radial-gradient(circle at 94% 12%,rgba(93,45,145,.32),transparent 27%),var(--ink);padding-top:125px;padding-bottom:125px;position:relative;overflow:hidden}
.method-section:after{content:"";position:absolute;width:520px;height:170px;border:1px solid rgba(255,255,255,.09);border-radius:50%;left:18%;bottom:-120px;box-shadow:0 0 0 32px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.018)}
.projects-section{overflow:hidden}.project-glow{position:absolute;right:-150px;bottom:-190px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(93,45,145,.15),rgba(7,141,145,.06) 40%,transparent 68%);pointer-events:none}
.project-card{border-radius:23px;background:linear-gradient(145deg,#fffdf8,#f8f2fb);box-shadow:0 16px 44px rgba(17,26,60,.07);position:relative;z-index:1}
.about-section{border-radius:30px;background:linear-gradient(125deg,#e6f0e0,#eee3f5 65%,#d9efec);box-shadow:0 24px 70px rgba(17,26,60,.09)}
.contact-section{border-radius:30px;background:radial-gradient(circle at 78% 20%,rgba(255,255,255,.18),transparent 18%),linear-gradient(120deg,var(--purple-dark),var(--purple) 48%,var(--teal));box-shadow:0 24px 70px rgba(61,23,108,.22);position:relative;overflow:hidden}
.contact-section:before{content:"";position:absolute;width:350px;height:120px;border:1px solid rgba(255,255,255,.19);border-radius:50%;right:-100px;bottom:-70px;box-shadow:0 0 0 26px rgba(255,255,255,.045)}
@media(max-width:1050px){.hero{grid-template-columns:1fr}.hero-visual{min-height:580px;border-radius:0}}
@media(max-width:650px){.hero-visual{min-height:460px}.hero-seal{width:92px;height:92px}.hero-seal strong{font-size:22px}.visual-label{font-size:10px;padding:10px 12px}.label-three{bottom:18%}}

/* Service-first refinement */
.hero-lead{font-size:22px;line-height:1.58}
.visual-label{color:white;background:rgba(17,26,60,.58);border:1px solid rgba(255,255,255,.4);box-shadow:0 14px 34px rgba(17,26,60,.18);font-size:14px;padding:13px 17px}
.visual-label svg{color:#8ae0d5}.visual-label b{display:none}
.hero-seal{width:154px;height:154px;padding:18px;background:rgba(61,23,108,.88);backdrop-filter:blur(10px);border-width:3px}
.hero-seal svg{margin:0 auto 8px;color:#a9db72}.hero-seal span{font-size:11px;line-height:1.35;font-weight:800;letter-spacing:.07em}
.section-heading>p,.method-intro>p,.about-copy>p{font-size:19px}
.services-showcase{display:grid;grid-template-columns:.76fr 1.24fr;gap:22px;position:relative;z-index:2}
.services-image{position:relative;overflow:hidden;border-radius:28px;min-height:750px;box-shadow:0 26px 70px rgba(17,26,60,.14)}
.services-image>img{width:100%;height:100%;object-fit:cover;filter:saturate(1.12)}
.services-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,55,66,.75),transparent 58%)}
.services-image-copy{position:absolute;z-index:2;left:32px;right:32px;bottom:34px;color:white;display:flex;align-items:center;gap:16px;font-size:21px;line-height:1.25}
.services-image-copy svg{flex:none;color:#8fe4d5}
.service-grid{grid-template-columns:repeat(2,1fr);gap:18px}
.service-card{min-height:365px;padding:30px 28px;border:none;background:rgba(255,255,255,.9)}
.service-card h3{font-size:29px;margin:24px 0 15px;max-width:260px}
.service-card>p{font-size:16px;line-height:1.62}
.service-icon{width:68px;height:68px}
.service-card li{font-size:12px;padding:7px 10px}
.service-arrow{position:absolute;right:24px;bottom:22px;font-size:24px;color:var(--accent)}
.card-number{display:none}
.experience-layout{display:grid;grid-template-columns:.84fr 1.16fr;gap:22px;position:relative;z-index:2}
.experience-image{position:relative;overflow:hidden;border-radius:28px;min-height:760px;box-shadow:0 24px 65px rgba(17,26,60,.13)}
.experience-image>img{width:100%;height:100%;object-fit:cover;filter:saturate(1.08)}
.experience-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,26,60,.52),transparent 54%)}
.experience-stamp{position:absolute;z-index:2;left:30px;bottom:30px;width:150px;height:150px;border-radius:50%;background:linear-gradient(145deg,var(--purple),var(--teal));color:white;display:grid;place-content:center;text-align:center;border:4px solid rgba(255,255,255,.8);box-shadow:0 16px 35px rgba(17,26,60,.25)}
.experience-stamp strong{font-size:26px}.experience-stamp span{font-size:11px;line-height:1.35;text-transform:uppercase;letter-spacing:.08em}
.experience-layout .project-grid{grid-template-columns:1fr;gap:18px}
.experience-layout .project-card{min-height:0;padding:27px 30px}
.experience-layout .project-card h3{margin:28px 0 11px;font-size:27px}
.experience-layout .project-card p{font-size:16px;margin-bottom:18px}
.contact-section{grid-template-columns:1fr .82fr;align-items:center}
.contact-links{display:flex;flex-direction:column;gap:12px;position:relative;z-index:2}
.contact-button{display:flex;align-items:center;justify-content:flex-start;gap:12px;white-space:normal;padding:17px 20px}
.contact-button.secondary{background:rgba(255,255,255,.14);color:white;border:1px solid rgba(255,255,255,.38)}
.social-link{display:flex;align-items:center;gap:10px;color:white;font-weight:800;padding:10px 4px}
footer>div:nth-child(3){flex-wrap:wrap}
.mobile-menu{display:none;position:relative}
.mobile-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;color:var(--purple);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.mobile-menu summary::-webkit-details-marker{display:none}
.mobile-menu summary b{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(93,45,145,.35);font-size:20px;line-height:1}
.mobile-menu-panel{position:absolute;right:0;top:56px;width:min(330px,calc(100vw - 36px));padding:12px;background:rgba(247,243,233,.98);backdrop-filter:blur(18px);border:1px solid rgba(17,26,60,.1);border-radius:18px;box-shadow:0 20px 50px rgba(17,26,60,.18)}
.mobile-menu-panel a{padding:15px 14px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(17,26,60,.09);font-size:16px;font-weight:800}
.mobile-menu-panel a:last-child{border-bottom:0;background:linear-gradient(120deg,var(--purple-dark),var(--purple));color:white;border-radius:11px;margin-top:7px}
.mobile-menu-panel a span{font-size:10px;color:var(--teal);letter-spacing:.1em}
.mobile-menu-panel a:last-child span{color:#b9ede6}
@media(max-width:1100px){.services-showcase,.experience-layout{grid-template-columns:1fr}.services-image,.experience-image{min-height:500px}.service-grid{grid-template-columns:repeat(2,1fr)}.contact-section{grid-template-columns:1fr}}
@media(max-width:1050px){.mobile-menu{display:block}.header-cta{display:none}}
@media(max-width:650px){.hero-lead{font-size:19px}.visual-label{font-size:11px}.hero-seal{width:112px;height:112px}.hero-seal span{font-size:9px}.services-image,.experience-image{min-height:390px}.service-grid{grid-template-columns:1fr}.service-card{min-height:340px}.service-card h3{font-size:27px}.section-heading>p,.method-intro>p,.about-copy>p{font-size:17px}.experience-stamp{width:115px;height:115px}.mobile-menu summary span{display:none}}

.about-visual{position:relative;min-height:520px;overflow:hidden}
.about-visual>img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.95) contrast(1.02)}
.about-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,26,60,.55),transparent 52%)}
.about-visual-tag{position:absolute;z-index:2;left:28px;right:28px;bottom:28px;padding:14px 16px;border-radius:12px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);display:flex;justify-content:center;gap:11px;color:var(--ink);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;box-shadow:0 12px 30px rgba(17,26,60,.18)}
.about-visual-tag i{color:var(--teal);font-style:normal}
@media(max-width:1050px){.about-visual{min-height:450px}}
@media(max-width:650px){.about-visual{min-height:340px}.about-visual-tag{left:16px;right:16px;bottom:16px;font-size:9px;gap:7px}}