/* Visual direction: editorial type, original campaign imagery, purposeful density. */
img{max-width:100%}figure{margin:0}summary:focus-visible{outline:3px solid #527637;outline-offset:5px}a,button,summary{-webkit-tap-highlight-color:transparent}main [id]{scroll-margin-top:100px}
.page-index .section,.page-services .section,.page-about .section,.page-portfolio .section{padding:clamp(56px,6.5vw,92px) 0}
.page-index .h2,.page-about .h2{font-size:clamp(2.1rem,3.8vw,3.7rem)}
.page-index .hero{padding:55px 0 60px}.page-index .hero-grid{grid-template-columns:.92fr 1.08fr;gap:40px;align-items:center}.page-index .display{font-size:clamp(3.2rem,5.5vw,5.1rem)}.page-index .hero .eyebrow{line-height:1.6;max-width:32ch}.hero-actions{gap:10px}.hero-actions .btn{font-size:13px;padding:13px 18px}
.editorial-image{position:relative;overflow:hidden;border-radius:14px;background:var(--clay)}.editorial-image img{display:block;width:100%;height:auto;object-fit:cover;transition:transform .6s ease}.editorial-image:hover img{transform:scale(1.025)}.editorial-image figcaption{padding:12px 17px;background:var(--ink);color:#e1e6df;font:10px/1.6 var(--mono);letter-spacing:.03em}
.hero-campaign{position:relative;min-width:0}.hero-campaign .editorial-image{border-radius:80px 14px 14px 14px;box-shadow:var(--shadow)}.hero-campaign .editorial-image img{aspect-ratio:1.12;object-fit:cover}.hero-campaign .editorial-image figcaption{background:var(--lime);color:var(--ink)}.hero-stamp{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;font:11px var(--mono)}.hero-stamp a{text-decoration:underline;text-underline-offset:4px}.hero-stamp span{color:var(--muted)}
.agency-intro{align-items:center;gap:6vw}.agency-intro .h2{margin:10px 0}.page-index .intro-grid .lead{margin-top:0}.page-index .split-feature{grid-template-columns:1fr 1fr;gap:6vw}.split-feature .editorial-image img{aspect-ratio:.95;object-fit:cover}.page-index .quote{background:#fff}.page-index .quote blockquote{font-size:clamp(1.65rem,2.7vw,2.7rem)}.quote .eyebrow{margin-bottom:16px}
.visual-services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;border:0;margin-top:36px}.visual-services .service-row{grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:0 0 20px;gap:11px;min-width:0;border-bottom:1px solid #50605a}.visual-services .service-row:nth-child(n+4){grid-column:span 3}.visual-services .service-row:hover{padding-left:0}.visual-services .service-num{margin-top:7px}.visual-services .service-name{font-size:1.6rem;line-height:1.2}.visual-services .service-row p{display:block;max-width:45ch}.visual-services .service-row>b{position:absolute;right:4px;bottom:22px}.service-thumb{width:100%;height:210px;border-radius:10px;overflow:hidden;background:var(--paper);color:var(--ink)}.service-thumb>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.service-row:hover .service-thumb>img{transform:scale(1.035)}
.process-board{display:grid;grid-template-columns:1.5fr 1fr;gap:35px;align-items:center;margin-top:30px}.process-note>p{font:600 clamp(1.6rem,2.6vw,2.5rem)/1.16 var(--serif);letter-spacing:-.04em;margin:15px 0}.micro-caption{font:10px/1.7 var(--mono);color:var(--muted)}.steps{margin-top:35px}.step h3{margin-top:18px}
.design-demo{padding:24px;background:#f8f8f1;color:var(--ink);border-radius:12px;overflow:hidden;text-align:left}.demo-top{display:flex;align-items:center;gap:9px;font:9px/1.4 var(--mono);letter-spacing:.04em;margin-bottom:21px}.demo-top>span:last-child:not(.demo-dot){margin-left:auto;font-size:8px;color:var(--muted)}.demo-dot{width:8px;height:8px;background:var(--lime);border:1px solid #729144;border-radius:50%}.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}.dashboard-grid small{font:8px var(--mono);color:var(--muted)}.dashboard-grid svg{display:block;width:100%;margin:16px 0}.channel-legend{display:flex;gap:12px;font:8px var(--mono)}.channel-legend span:before{content:'●';color:#527637;margin-right:4px}.channel-legend span:nth-child(2):before{color:#b36c3a}.demo-tasks{display:grid;align-content:center}.demo-tasks span{padding:12px 0;border-bottom:1px solid var(--line);font-size:10px;display:flex;justify-content:space-between;gap:12px}.journey-track{display:flex;justify-content:space-between;gap:8px;align-items:center;border-top:1px solid var(--line);padding-top:16px;margin-top:20px;font:9px var(--mono)}.journey-track i{font-style:normal;color:#527637}.service-thumb .design-demo{border-radius:0;height:100%;padding:17px}.service-thumb .demo-top{margin-bottom:9px}.service-thumb .dashboard-grid{gap:15px}.service-thumb .journey-track{margin-top:7px;padding-top:10px}.service-thumb .search-result{padding:10px 0}.service-thumb .map-art{height:65px;margin-top:8px}.service-thumb .search-result p{font-size:10px;color:var(--muted)}
.visual-page-hero{padding:54px 0}.visual-page-hero>.shell{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}.visual-page-hero .display{font-size:clamp(2.7rem,4.9vw,4.6rem)}.visual-page-hero .editorial-image{transform:rotate(2deg);border:1px solid #57645c}.visual-page-hero .editorial-image img{aspect-ratio:1.3}.visual-page-hero .editorial-image figcaption{background:#233b32}.about-hero .editorial-image{transform:rotate(-2deg)}
.service-cards{gap:26px;margin-top:28px}.service-card{padding:0 0 25px;background:#fff;overflow:hidden;min-width:0;transition:box-shadow .25s,transform .25s}.service-card:hover{box-shadow:0 15px 35px #13231f10;transform:translateY(-3px)}.service-card>.icon,.service-card>h3,.service-card>p{margin-left:26px;margin-right:26px}.service-card>.icon{display:block;margin-top:25px}.service-card>h3{margin-top:10px}.service-card>p:last-child{margin-top:20px;margin-bottom:0}.service-card .btn{padding:11px 17px;font-size:12px}.service-visual{height:270px;overflow:hidden;border-bottom:1px solid var(--line);background:var(--clay)}.service-visual .editorial-image{height:100%;border-radius:0;display:flex;flex-direction:column}.service-visual .editorial-image img{height:calc(100% - 39px);flex:1;min-height:0;object-fit:cover}.service-visual figcaption{font-size:9px;padding:11px 16px}.service-visual>.design-demo{height:100%;border-radius:0;padding:30px}.service-visual .dashboard-grid{margin-top:28px}.search-bar{background:white;border:1px solid var(--line);border-radius:99px;padding:12px 17px;font-size:12px}.search-bar>span{margin-right:12px}.search-result{padding:18px 4px}.search-result small{font:8px var(--mono);letter-spacing:.08em}.search-result strong{display:block;font-size:15px;margin-top:4px}.search-result p{font-size:11px;margin:3px 0}.map-art{height:75px;margin-top:15px;position:relative;overflow:hidden;background:repeating-linear-gradient(27deg,transparent 0 34px,#fff 35px 41px),repeating-linear-gradient(105deg,#dfe7da 0 50px,#fff 52px 57px);border-radius:7px}.map-pin{position:absolute;left:48%;top:12px;color:var(--ink);font-size:30px}.map-label{position:absolute;left:10px;bottom:7px;background:white;padding:2px 8px;border-radius:10px;font:8px var(--mono)}.code-demo{background:#172e27;color:#d5e6dd}.code-demo .demo-top{color:#b6cbba}.code-lines{font:13px/1.9 var(--mono);display:grid;color:#cef392}.code-lines span:first-child,.code-lines span:last-child{color:#93aaa1}.device-outlines{display:flex;justify-content:flex-end;align-items:flex-end;gap:10px;margin-top:-75px;height:80px;opacity:.4}.device-outlines i{display:block;width:100px;height:65px;border:2px solid #d8e7df;border-radius:5px}.device-outlines i:nth-child(2){width:43px;height:54px}.device-outlines i:nth-child(3){width:25px;height:43px}.funnel-demo{background:#e4eadc}.funnel-card{padding:10px 15px;background:#fff;border-radius:7px;box-shadow:0 4px 12px #13231f09}.funnel-card span{font:8px var(--mono);color:var(--muted);display:block}.funnel-card b{font-size:12px}.funnel-demo>i{display:block;font-style:normal;text-align:center;line-height:1.4;color:#527637}.funnel-pill{padding:9px 15px;border-radius:99px;background:var(--ink);color:white;font-size:10px;text-align:center}.funnel-demo .demo-top{margin-bottom:12px}
.about-grid{gap:6vw}.story-art{margin-top:28px}.story-art img{aspect-ratio:1.65}.approach-ribbon{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:35px;padding:24px 28px;background:var(--ink);color:#c7d1c8;border-radius:10px;font-size:13px}.approach-ribbon b{font:600 1.7rem var(--serif);color:var(--lime);display:block}.approach-ribbon>i{font-size:25px;color:var(--lime);font-style:normal}.value-grid{border-radius:12px;overflow:hidden;margin-top:25px}.value-symbol{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:50%;background:var(--lime);font-size:29px;margin-bottom:25px}
.portfolio-hero{padding:55px 0 30px}.portfolio-hero .display{font-size:clamp(3rem,5.3vw,5rem)}.portfolio-hero:after{display:none}.concept-preview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.concept-preview-strip a{position:relative;display:block;overflow:hidden;border-radius:8px}.concept-preview-strip img{display:block;width:100%;height:auto;aspect-ratio:2;object-fit:cover;transition:transform .5s}.concept-preview-strip a:hover img{transform:scale(1.04)}.concept-preview-strip span{position:absolute;left:0;bottom:0;padding:12px;width:100%;background:linear-gradient(transparent,#000b);font:10px var(--mono);color:white}.portfolio-introduction .h2{font-size:clamp(2.3rem,4vw,3.8rem)}.portfolio-intro{gap:50px;grid-template-columns:1.25fr .75fr;align-items:center}.concept-disclosure{font-size:12px}.concept{padding:70px 0}.concepts{padding-bottom:65px}.concept-gallery{display:grid;grid-template-columns:1.3fr .7fr;gap:36px;align-items:center;margin:30px 0 35px}.concept-gallery .editorial-image{box-shadow:0 12px 30px #13231f0c}.gallery-copy h3{font:600 clamp(1.6rem,2.5vw,2.4rem)/1.13 var(--serif);letter-spacing:-.04em;margin:16px 0}.gallery-copy>p{font-size:13px;color:var(--muted)}.gallery-copy ul{list-style:none;padding:0;margin:20px 0}.gallery-copy li{display:flex;gap:14px;align-items:center;border-top:1px solid var(--line);padding:11px 0;font-size:12px}.gallery-copy li>span{font:9px var(--mono);color:var(--muted)}.gallery-copy li>b{margin-left:auto}.concept-visual{margin-bottom:25px}.concept-title h2{font-size:clamp(2.6rem,4.5vw,4.3rem)}.concept-facts{margin-bottom:30px}.concept-story{gap:45px}.concept-outcome{margin-top:25px}.concept-outcome .btn{font-size:12px}.concept-visual:hover img{transform:none}
@media(max-width:1050px){.page-index .hero-grid{gap:28px}.page-index .display{font-size:3.6rem}.visual-page-hero>.shell{gap:28px}.concept-gallery{grid-template-columns:1fr 1fr;gap:25px}.visual-services{gap:17px}.service-thumb{height:175px}.service-thumb .demo-tasks{display:none}.service-thumb .dashboard-grid{grid-template-columns:1fr}.service-thumb .dashboard-grid svg{height:62px;margin:7px 0}.service-visual{height:240px}.service-visual>.design-demo{padding:23px}.portfolio-intro{gap:25px}}
@media(max-width:760px){.page-index .hero{padding:35px 0 40px}.page-index .hero-grid,.visual-page-hero>.shell{grid-template-columns:1fr;gap:30px}.page-index .display{font-size:clamp(2.9rem,9vw,4.1rem)}.hero-copy{max-width:100%}.hero-campaign .editorial-image{border-radius:40px 10px 10px 10px}.hero-campaign .editorial-image img{aspect-ratio:1.5}.hero-stamp{font-size:9px}.hero-actions{margin-top:23px}.visual-page-hero{padding:38px 0}.visual-page-hero .display{font-size:clamp(2.7rem,8vw,4rem)}.visual-page-hero .editorial-image{transform:none}.visual-page-hero .editorial-image img{aspect-ratio:1.65}.agency-intro{gap:15px}.page-index .split-feature{grid-template-columns:1fr;gap:30px}.split-feature .editorial-image img{aspect-ratio:1.45}.visual-services{grid-template-columns:1fr 1fr;gap:25px 18px}.visual-services .service-row,.visual-services .service-row:nth-child(n+4){grid-column:auto}.visual-services .service-row:last-child{grid-column:1/-1}.visual-services .service-name{font-size:1.3rem}.visual-services .service-row p{font-size:12px}.service-thumb{height:165px}.service-row:last-child .service-thumb{height:205px}.process-board{grid-template-columns:1fr;gap:20px}.process-note p{max-width:23ch}.service-cards{gap:22px}.service-visual{height:260px}.service-visual>.design-demo{padding:26px}.story-art{margin-top:23px}.about-grid{gap:25px}.approach-ribbon{padding:20px;gap:10px;font-size:10px}.approach-ribbon b{font-size:1.3rem}.approach-ribbon>i{font-size:18px}.value{padding:23px}.value-symbol{margin-bottom:15px}.portfolio-hero{padding:38px 0 25px}.concept-preview-strip{gap:10px}.concept-preview-strip img{aspect-ratio:1}.concept-preview-strip span{font-size:8px;padding:8px}.portfolio-intro{grid-template-columns:1fr;gap:20px}.concept{padding:50px 0}.concepts{padding-bottom:40px}.concept-gallery{grid-template-columns:1fr;gap:20px}.gallery-copy h3{max-width:24ch}.gallery-copy ul{display:grid;grid-template-columns:1fr;gap:0}.concept-title{gap:15px;margin-bottom:25px}.concept-title h2{font-size:2.7rem}.concept-story{gap:25px}.concept-visual{margin-inline:0}.concept-facts{grid-template-columns:1fr}.concept-kicker{gap:12px;font-size:10px}.concept-fact{padding:14px 18px}.concept-outcome .btn{font-size:12px}.concept-detail-body{gap:28px}.concept-disclosure{font-size:11px}.section .quote{width:calc(100% - 32px)}}
@media(max-width:420px){.visual-services{grid-template-columns:1fr}.visual-services .service-row:last-child{grid-column:auto}.service-thumb,.service-row:last-child .service-thumb{height:215px}.visual-services .service-name{font-size:1.55rem}.visual-services .service-row p{max-width:38ch}.dashboard-grid{gap:15px;grid-template-columns:1.2fr 1fr}.design-demo{padding:18px}.demo-tasks span{font-size:9px}.channel-legend{gap:7px}.journey-track{font-size:8px}.service-visual .dashboard-grid{margin-top:12px}.service-visual>.design-demo{padding:20px}.hero-actions .btn{font-size:12px}.concept-preview-strip span{font-size:7px}.concept-title h2{font-size:2.5rem}.approach-ribbon{flex-wrap:wrap}.value-grid{grid-template-columns:1fr 1fr}.value{padding:18px}.value h3{font-size:1.3rem}.value p{font-size:12px}.concept-outcome{padding:21px}.concept-outcome .btn{white-space:normal}}
@media(prefers-reduced-motion:reduce){.editorial-image img,.service-thumb img,.service-card,.concept-preview-strip img{transition:none}.service-card:hover,.editorial-image:hover img,.service-row:hover .service-thumb>img,.concept-preview-strip a:hover img{transform:none}}
