/* Version 2: quiet composition, depth and purposeful motion. */
:root{--bg:#101210;--panel:#1a1d19;--border:#ffffff14;--soft:#a1a79e;--text:#f7f8f3}
body{background:var(--bg)}
.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:110;background:var(--lime);transform:scaleX(var(--page-progress,0));transform-origin:left;pointer-events:none}
.header{position:sticky;top:16px;z-index:100;width:calc(100% - 48px);max-width:1280px;margin:16px auto 0;padding:17px 25px;border:1px solid #ffffff12;border-radius:17px;background:#1a1d19dd;box-shadow:0 8px 40px #0002;backdrop-filter:blur(24px) saturate(135%);-webkit-backdrop-filter:blur(24px) saturate(135%)}
.header nav{gap:25px}
.header nav>a{transition:color .2s ease,background .2s ease}
.header nav>a.is-active{color:var(--lime)}
.header nav .nav-cta{border-color:#ffffff20;border-radius:100px;padding:10px 17px;background:#ffffff06}
.brandmark{border-radius:10px}
.hero{position:relative;padding-top:74px;padding-bottom:95px;isolation:isolate}
.hero:before{content:'';position:absolute;z-index:-1;top:130px;left:50%;width:min(1050px,100%);height:830px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 64%,#9ac04a16,transparent 62%);pointer-events:none}
.hero-top{justify-content:center;margin-bottom:28px}
.hero-top .eyebrow{font-size:12px;color:#c8d1bf;letter-spacing:.16em}
.hero-grid{display:block}
.hero-copy{text-align:center;max-width:1050px;margin:0 auto}
.hero h1{font-size:clamp(60px,7vw,100px);font-weight:600;line-height:1.07;letter-spacing:-.06em;margin-bottom:26px;text-wrap:balance}
.hero h1 .accent{color:var(--lime);background:linear-gradient(105deg,#e7ffc4 8%,#c5f36b 55%,#a1ce52);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-copy>p{font-size:21px;color:#e2e7dc;letter-spacing:-.015em;margin-bottom:15px}
.hero-copy .hero-description{max-width:600px;margin:0 auto 28px;font-size:17px;line-height:1.7;color:var(--soft)}
.button{border-radius:100px;padding:16px 23px;min-height:54px;transition:transform .25s ease,box-shadow .25s ease,background .2s ease}
.button.lime:hover{box-shadow:0 5px 30px #c5f36b25;transform:translateY(-2px)}
.hero-points{justify-content:center;font-size:12px;gap:23px;margin-top:23px}
.hero-visual{width:min(930px,100%);max-width:none;margin:58px auto 0;padding:0;perspective:1600px;transform:translate3d(0,var(--stage-y,0px),0) scale(var(--stage-scale,1));transform-origin:50% 50%}
.browser-frame{transform:rotateX(var(--tilt-x,-5deg)) rotateY(var(--tilt-y,0deg));border-color:#77816c88;border-radius:16px;box-shadow:0 45px 90px #0008,0 0 0 6px #ffffff03;transition:transform .55s cubic-bezier(.2,.7,.3,1);transform-origin:50% 45%}
.browser-bar{height:40px;background:#242923;color:#b5bdac;font-size:11px;padding:0 18px;border-bottom:1px solid #ffffff0d}
.window-dots{gap:6px}.window-dots i{width:7px;height:7px;background:#78836d}
.concept-nav{padding:25px 36px}.concept-nav strong{font-size:22px}.concept-nav>span{font-size:12px}
.concept-image{height:370px}.concept-heading{top:67px;left:45px}.concept-heading small{font-size:11px}.concept-heading h2{font-size:68px;letter-spacing:-.055em;margin:15px 0 23px}.concept-heading>span{font-size:15px}
.concept-image>img{object-position:50% 62%;transform:scale(var(--image-scale,1));transition:transform .15s linear}
.concept-bottom{padding:26px 36px;font-size:14px}.concept-seal{height:48px;width:48px;font-size:23px}
.concept-caption{text-align:center;font-size:12px;margin-top:27px;color:#949d8a}
.principle-strip{padding:30px 0;border-color:#ffffff0d}
.principle-strip .asterisk{font-size:25px;color:#9bac8a}
.principle-strip span:nth-child(2){font-size:23px}
.section{padding-top:120px;padding-bottom:120px}
.section-heading{margin-bottom:50px;gap:65px}
h2{font-size:clamp(35px,4.1vw,57px);line-height:1.17;letter-spacing:-.05em;font-weight:600;text-wrap:balance}
.section-heading>p{font-size:16px;max-width:330px;line-height:1.8}
.eyebrow{letter-spacing:.13em;font-size:12px}
.soft{color:#a1a79e}
.service-grid{gap:22px}
.service-card{position:relative;isolation:isolate;overflow:hidden;min-height:380px;background:linear-gradient(145deg,#20251e,#171b16);border-color:#ffffff14;border-radius:22px;padding:34px 30px;transition:border-color .3s ease,transform .35s ease,box-shadow .35s ease}
.service-card.featured{background:linear-gradient(145deg,#20271c,#171c15);border-color:#c5f36b25}
.service-card:before,.industry-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;background:radial-gradient(400px circle at var(--light-x,50%) var(--light-y,50%),#c5f36b14,transparent 65%);opacity:0;transition:opacity .35s ease;pointer-events:none}
.service-card:hover:before,.industry-card:hover:before{opacity:1}
.service-card:hover{border-color:#c5f36b55;box-shadow:0 15px 45px #0003}
.card-top{margin-bottom:38px}.card-top>span{font-size:13px;color:#77856b}
.service-card h3{font-size:27px;font-weight:550;line-height:1.25;letter-spacing:-.04em}
.service-card p{font-size:16px;line-height:1.75;color:#adb5a5;margin-top:22px;margin-bottom:32px}
.card-tag{font-size:11px;letter-spacing:.06em;color:#a5b09a;border-color:#ffffff12;padding-top:22px;line-height:1.6}
.featured .card-tag{color:#c5f36b}
.benefits-section{padding:95px 0 105px;background:#141713;border-color:#ffffff0c}
.benefit-grid{gap:60px}.benefit-item{border-color:#c5f36b35;padding-top:32px}.benefit-icon{margin-bottom:26px}.benefit-item h3{font-size:25px;font-weight:550}.benefit-item p{color:#a8b09f}
.audience-section{background:var(--bg);padding:110px 0;border-color:#ffffff0d}
.audience-heading{max-width:850px;margin-bottom:50px}.audience-heading h2{font-size:clamp(35px,4.1vw,57px)}.audience-heading>p{color:var(--soft);max-width:660px}
.industry-grid{gap:16px}.industry-card{position:relative;isolation:isolate;overflow:hidden;border-color:#ffffff12;background:#181d16;border-radius:20px;padding:30px 24px;transition:border-color .3s ease,box-shadow .3s ease}.industry-card:hover{border-color:#c5f36b40;box-shadow:0 15px 40px #0003}.industry-icon{background:#c5f36b08;border-color:#c5f36b25;border-radius:13px;width:49px;height:49px}.industry-card h3{font-weight:550}.industry-link{font-size:14px;gap:25px}
.process-grid{position:relative;gap:35px;padding-top:2px}.process-grid:before,.process-grid:after{content:'';position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none}.process-grid:before{background:#ffffff15}.process-grid:after{background:var(--lime);transform:scaleX(var(--process-progress,0));transform-origin:left;box-shadow:0 0 12px #c5f36b30}.process-grid article{border:0;padding-top:30px}.step{height:32px;width:42px;display:grid;place-items:center;border:1px solid #c5f36b25;border-radius:100px;background:#c5f36b05;font-size:12px;margin-bottom:23px;transition:background .4s ease,color .4s ease}.process-grid article.is-current .step{background:var(--lime);color:#182010}.process-grid h3{font-size:25px;font-weight:550}.process-grid p{font-size:16px;line-height:1.75}
.faq-section{padding-top:95px;padding-bottom:120px;border-color:#ffffff10;gap:85px}.faq-section h2{font-size:44px}.faq-list summary{padding:25px 0;font-size:17px}.faq-list p{font-size:16px;line-height:1.8}
.project-section{position:relative;background:radial-gradient(ellipse at 5% 35%,#38502245,transparent 55%),#181e15;color:var(--text);border-top:1px solid #c5f36b20;padding:105px 0}.project-grid{gap:95px}.project-section .eyebrow{color:#b6d296}.project-section h2{font-size:51px;line-height:1.18}.project-section h2 em{border:0;color:var(--lime)}.project-grid>div>p{color:#adb8a2;line-height:1.8}.project-section form{background:#121810a6;border:1px solid #ffffff12;border-radius:22px;padding:30px}.field input,.field select,.field textarea,#brief-text{background:#222b1e;color:var(--text);border-color:#77876940;border-radius:10px;font-size:16px;padding:14px 15px}.field input::placeholder,.field textarea::placeholder{color:#a7b29c}.field select{color-scheme:dark}.field label,#brief-result label{font-size:14px;font-weight:500;color:#dae3d1}.project-section :focus-visible{outline-color:var(--lime)}.dark{background:var(--lime);color:#17210f}.dark:hover{background:#d8ff98}.form-hint{color:#a5b398;font-size:13px;line-height:1.6}.copy-button{color:var(--lime);border-color:#c5f36b50;border-radius:100px}.copy-button:hover{background:#c5f36b0a}#brief-result{border-color:#c5f36b30}#copy-status{color:#d1ebba}
.footer{padding-top:50px;padding-bottom:50px}.footer p{font-size:14px}.footer>a:last-child{font-size:14px}
.reveal-ready{opacity:0;transition:opacity .85s ease,translate .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.reveal-ready:not(.hero-visual){translate:0 28px}
.reveal-ready.is-revealed{opacity:1;translate:0 0}
@media(min-width:1500px){.hero{padding-top:85px;padding-bottom:110px}.hero h1{font-size:108px}.concept-image{height:390px}}
@media(max-width:1100px){.header nav{gap:17px}.hero h1{font-size:clamp(60px,7.3vw,90px)}.section-heading{gap:35px}.service-card{padding:28px 23px}.service-card h3{font-size:24px}.benefit-grid{gap:35px}.project-grid{gap:45px}.project-section h2{font-size:42px}.industry-card{padding:27px}}
@media(max-width:760px){html{scroll-padding-top:110px}.header{top:10px;width:calc(100% - 24px);margin-top:10px;padding:15px 17px;border-radius:14px}.header nav{top:calc(100% + 8px);border:1px solid #ffffff18;border-radius:14px;background:#171d15f5;backdrop-filter:blur(24px)}.header nav .nav-cta{border-radius:100px}.hero{padding-top:48px;padding-bottom:55px}.hero-top{margin-bottom:24px}.hero-top .eyebrow{font-size:10px}.hero h1{font-size:clamp(43px,8.2vw,62px);line-height:1.12;letter-spacing:-.055em;margin-bottom:23px}.hero-copy>p{font-size:18px}.hero-copy .hero-description{font-size:16px;margin-bottom:25px}.hero-points{gap:13px;font-size:11px}.hero-visual{margin-top:40px;width:100%;perspective:none;transform:none!important}.browser-frame{border-radius:10px;transform:none!important;box-shadow:0 20px 40px #0005,0 0 0 3px #ffffff03}.browser-bar{height:30px;font-size:9px;padding:0 12px}.window-dots i{width:5px;height:5px}.concept-nav{padding:19px 22px}.concept-nav strong{font-size:17px}.concept-nav>span{font-size:9px}.concept-image{height:250px}.concept-heading{top:40px;left:25px}.concept-heading small{font-size:8px}.concept-heading h2{font-size:43px}.concept-heading>span{font-size:11px}.concept-bottom{padding:18px 22px;font-size:11px}.concept-seal{height:37px;width:37px;font-size:18px}.concept-caption{font-size:11px;margin-top:20px}.principle-strip{padding:22px 0}.principle-strip span:nth-child(2){font-size:19px}.section{padding-top:72px;padding-bottom:72px}.section-heading{margin-bottom:32px}.section-heading h2,h2{font-size:34px;line-height:1.2}.section-heading>p{font-size:16px;max-width:500px}.service-grid{gap:16px}.service-card{padding:29px 25px;min-height:0;border-radius:19px}.service-card h3{font-size:27px}.service-card p{font-size:16px}.card-top{margin-bottom:25px}.benefits-section{padding:65px 0}.benefit-grid{gap:31px}.benefit-item{padding-top:25px}.benefit-item h3{font-size:23px}.audience-section{padding:72px 0}.audience-heading h2{font-size:34px}.audience-heading{margin-bottom:32px}.industry-card{padding:25px}.process-grid{gap:25px}.process-grid h3{font-size:23px}.process-grid p{font-size:16px}.faq-section{padding-top:65px;padding-bottom:75px;gap:28px}.faq-section h2{font-size:34px}.faq-list summary{font-size:16px}.project-section{padding:68px 0}.project-section h2{font-size:37px}.project-grid{gap:30px}.project-section form{padding:23px 19px;border-radius:18px}.footer{padding-top:35px;padding-bottom:35px}}
@media(max-width:360px){.hero h1{font-size:39px}.hero-points{font-size:10px;gap:9px}.concept-heading h2{font-size:37px}.concept-image{height:225px}.section-heading h2,h2,.audience-heading h2{font-size:30px}.project-section h2{font-size:32px}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.service-card:hover{translate:0 -5px}.industry-card:hover{translate:0 -3px}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;translate:none!important;transition:none!important}.hero-visual,.browser-frame,.concept-image>img{transform:none!important}.service-card,.industry-card{translate:none!important}.scroll-progress{display:none}}

/* Editorial service photographs. */
.service-card{padding:0;min-height:0}.service-media{position:relative;width:100%;aspect-ratio:3 / 2;overflow:hidden;flex-shrink:0;background:#252d20;margin-bottom:30px}.service-media:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00000020,transparent 40%,#131b0f33);pointer-events:none}.service-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.1) translateY(var(--photo-offset,0px));transition:transform .65s cubic-bezier(.2,.7,.3,1)}.media-number{position:absolute;top:18px;left:18px;z-index:1;display:grid;place-items:center;min-width:36px;height:32px;background:#141c12c9;border:1px solid #ffffff30;backdrop-filter:blur(12px);border-radius:100px;color:#e9f0e1;font-size:12px;font-weight:500;letter-spacing:.07em}.service-card h3,.service-card p,.service-card .card-tag{margin-left:30px;margin-right:30px}.service-card h3{margin-top:0}.service-card p{margin-top:22px;margin-bottom:30px}.service-card .card-tag{margin-top:auto;margin-bottom:30px}
@media(max-width:1100px){.service-card h3,.service-card p,.service-card .card-tag{margin-left:23px;margin-right:23px}.service-card .card-tag{margin-bottom:26px}}
@media(max-width:760px){.service-card{padding:0}.service-media{aspect-ratio:16 / 10;margin-bottom:25px}.service-card h3,.service-card p,.service-card .card-tag{margin-left:25px;margin-right:25px}.service-card .card-tag{margin-bottom:27px}.service-media img{transform:scale(1.02)}}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.service-card:hover .service-media img{transform:scale(1.15) translateY(var(--photo-offset,0px))}}
@media(prefers-reduced-motion:reduce){.service-media img{transform:none!important;transition:none!important}}

.service-media--supplied img{object-position:50% 50%;transform:scale(1.02)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.service-card:hover .service-media--supplied img{transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.service-media--supplied img{transform:none!important}}

.contact-details{font-style:normal;display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:31px;color:#dce8d1;font-size:16px}.contact-details strong{font-weight:550;margin-bottom:5px}.contact-details a{padding:3px 0;border-bottom:1px solid #c5f36b30}.contact-details a:hover{color:var(--lime)}.footer-links{display:flex;align-items:center;gap:24px;font-size:14px}.footer-links a{display:flex;gap:14px;align-items:center}.footer-links a:hover{color:var(--lime)}.footer-links span{color:var(--lime);font-size:23px}.legal-main{max-width:1080px;padding-top:65px;padding-bottom:105px}.legal-back{display:inline-block;color:var(--lime);font-size:14px;margin-bottom:35px;border-bottom:1px solid #c5f36b35;padding-bottom:4px}.legal-main h1{font-family:var(--display);font-size:clamp(42px,5vw,70px);font-weight:600;letter-spacing:-.05em;line-height:1.15;margin:20px 0 43px}.legal-copy{max-width:800px;font-size:17px;line-height:1.85}.legal-copy address{font-style:normal}.legal-copy h2{font-size:25px;font-weight:550;letter-spacing:-.025em;line-height:1.35;margin:40px 0 15px;overflow-wrap:anywhere}.legal-copy p{margin:0;color:#c9d1c2}.legal-copy a{color:var(--lime);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:760px){.footer-links{width:100%;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border);gap:18px;flex-wrap:wrap}.legal-main{padding-top:43px;padding-bottom:70px}.legal-main h1{margin-bottom:32px}.legal-copy{font-size:16px}.legal-copy h2{font-size:22px;margin-top:32px}.contact-details{margin-top:25px}}
