@font-face{font-family:Bodoni;src:url(assets/bodoni-moda.ttf);font-weight:400 900;font-display:swap}
h1,h2,h3{font-family:Bodoni,serif;font-weight:900;font-optical-sizing:none;font-variation-settings:"opsz" 96;letter-spacing:-.065em}
.header{position:relative;height:104px;padding:25px 4%;background:var(--paper);color:var(--plum)}
.hero{display:grid;grid-template-columns:42% 10% 48%;height:clamp(610px,43vw,760px);min-height:0;background:var(--paper);color:var(--plum)}
.hero-copy{position:relative;inset:auto;max-width:none;padding:24px 9% 45px;z-index:2}
.hero h1{font-family:Bodoni,serif;font-weight:900;font-size:clamp(90px,10vw,172px);line-height:.82;letter-spacing:-.073em}
.accent{color:#a9bc36}.hero-description{font-size:14px;margin-top:30px;letter-spacing:0}
.hero-call{display:flex;align-items:center;justify-content:space-between;margin-top:25px;gap:18px}
.round-link{display:flex;align-items:center;gap:15px;background:none;font-size:13px;padding:0}
.round-link b{display:grid;place-items:center;border-radius:50%;width:54px;height:54px;background:var(--lime);font:26px Instrument,sans-serif;transition:transform .35s}
.round-link:hover b{transform:rotate(45deg)}.hero-cta{margin:0}.hero-legend{font-size:8px;line-height:1.5;letter-spacing:.08em}
.hero-ribbon{position:relative;background:var(--lavender);display:flex;align-items:center;justify-content:center;padding-bottom:85px}
.hero-ribbon strong{font:800 clamp(38px,4.1vw,68px)/.94 Bodoni,serif;letter-spacing:-.055em;writing-mode:vertical-rl;transform:rotate(180deg)}
.hero-ribbon>span{position:absolute;bottom:28px;left:20%;font-size:8px;line-height:1.3;letter-spacing:.04em}
.hero-art{position:relative;overflow:hidden;isolation:isolate;background:#d3cbd0}
.hero-scene{position:absolute;inset:-3%;transform:translate(var(--bgx,0px),var(--bgy,0px));will-change:transform}
.hero-scene img{width:100%;height:100%;object-fit:cover;object-position:47% center}
.phone-layer{position:absolute;width:39%;right:0;bottom:-6%;padding:0;background:none;transform:translate(var(--devx,0px),var(--devy,0px)) rotate(var(--devr,0deg));will-change:transform}
.phone-layer img{width:100%;filter:drop-shadow(0 20px 20px #1a122860)}
.phone-layer:hover img{filter:drop-shadow(0 26px 25px #1a122888)}
.art-note{position:absolute;bottom:0;right:0;padding:58px 20px 18px 75px;clip-path:polygon(100% 0,100% 100%,0 100%);background:var(--lavender);font-size:7px;line-height:1.5;letter-spacing:.06em;text-align:right}
.motion-control{position:absolute;left:3.8%;bottom:13px;background:none;font-size:8px;opacity:.7;padding:5px}
.section{padding:55px 4%}.works{background:var(--plum);color:var(--paper)}
.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(64px,6vw,95px);line-height:1;margin:0}
.section-heading>p{color:var(--lavender);font-size:8px;letter-spacing:.14em;max-width:180px}
.section-heading>.text-link{display:none}.work-grid{gap:28px}.work-image{border-radius:0}
.work-caption h3{font-family:Instrument,sans-serif;font-size:18px;font-weight:500;letter-spacing:0}
.work-caption span{color:var(--lavender)}.work-caption{padding-top:17px}
.services{background:var(--paper);grid-template-columns:40% 60%;min-height:0;align-items:start;padding-top:65px;padding-bottom:65px}
.services:before{display:none}.service-intro h2{font-size:clamp(58px,5.7vw,92px);line-height:.92;margin:18px 0 38px}
.service-intro h2 span{color:#a9bc36}.service-signature{font-size:8px;letter-spacing:.13em;line-height:1.5}
.service-list{min-width:0}.service-row{border-bottom:1px solid #35223835}
.service-row summary{display:grid;grid-template-columns:12% 35% 35% 18%;align-items:center;gap:0;padding:23px 0;list-style:none;cursor:pointer}
.service-row:first-child summary{padding-top:8px}.service-row summary::-webkit-details-marker{display:none}
.service-number{font:500 44px Bodoni,serif;letter-spacing:-.09em;align-self:start}
.service-word strong{display:block;font-size:18px;font-weight:500;letter-spacing:-.045em}.service-word small{display:block;max-width:140px;font-size:10px;line-height:1.55;margin-top:9px;padding-right:12px}
.service-photo{display:block;height:100px;background-image:url(assets/services-strip.png);background-size:300% 100%;box-shadow:0 8px 15px #35223812;transition:transform .4s,box-shadow .4s}
.photo-design{background-position:0 50%}.photo-dev{background-position:50% 50%}.photo-shop{background-position:100% 50%}
.service-row summary:hover .service-photo,.service-row[open] .service-photo{transform:translate(-5px,-6px) rotate(-3deg);box-shadow:7px 14px 0 #35223815}
.service-meta{font-size:7px;letter-spacing:.07em;line-height:1.6;padding-left:18px}.service-meta b{display:block;font:24px Instrument,sans-serif;margin-top:10px;transition:transform .3s;transform-origin:12px center}
.service-row[open] .service-meta b{transform:rotate(45deg)}
.service-detail{padding:0 15% 24px 12%;animation:panelIn .35s}.service-detail p{font-size:12px;margin-bottom:17px}.service-detail button{font-size:10px}
.resources{padding:0 4% 60px;background:var(--paper)}.resource-grid{gap:16px}
.resource-card{min-height:395px;border-radius:0;padding:27px;display:block}.resource-card:before{display:none}
.resource-card>h3,.apps-card h3{font-size:clamp(45px,4.5vw,72px);line-height:.9;margin-top:17px;max-width:70%}
.resource-card>p:not(.eyebrow){font-size:10px;max-width:190px;margin-top:17px;position:relative;z-index:2}
.resource-card .platforms{font-size:8px;margin-top:12px;letter-spacing:.12em}
.resource-card>img{width:55%;right:-4%;bottom:8%;transform:rotate(-8deg);z-index:1}
.apps-card>img{width:57%;right:-6%;bottom:8%;transform:rotate(4deg)}
.resource-bottom{left:27px;right:27px;bottom:20px}.resource-bottom b{width:32px;height:32px;font-size:18px}
.contact{background:var(--plum);display:grid;grid-template-columns:53% 27% 20%;min-height:290px;padding-top:65px;padding-bottom:60px}
.contact h2{font-size:clamp(52px,5.7vw,90px);line-height:.93;margin:0}.contact h2 span{color:var(--lime)}
.contact-action{width:auto;display:block}.contact-action p{font-size:11px;max-width:none;line-height:1.6;margin-bottom:20px}
.contact-action button{border-radius:0;width:auto;height:auto;background:none;font-size:12px;display:flex;gap:12px}
.contact-action button:hover{transform:none;background:none}.contact-action button b{width:44px;height:44px}.contact-brand{width:100%;gap:7px}
.contact-brand img:first-child{width:22%}.contact-brand img:last-child{width:72%}
footer{background:var(--plum);padding:22px 4%;min-height:65px}footer .brand{display:none}footer:before{left:4%;right:4%}
.js .reveal{opacity:var(--reveal-opacity,1)!important;transform:translate3d(var(--reveal-x,0px),var(--reveal-y,0px),0)!important;transition:none!important}
.no-motion .reveal{opacity:1!important;transform:none!important}
@media(min-width:1800px){.hero{height:800px}.hero-copy{padding-top:50px}.hero-description{margin-top:40px}}
@media(max-width:900px) and (min-width:701px){.header nav{gap:18px}.brand{width:190px}.brand img:first-child{width:38px}.brand img:last-child{width:142px}.hero{height:570px}.hero h1{font-size:10vw}.hero-copy{padding-top:55px}.hero-description{font-size:12px}.services{grid-template-columns:36% 64%}.service-intro h2{font-size:52px}.service-word strong{font-size:15px}.service-meta{padding-left:10px}.contact-brand{display:none}.contact{grid-template-columns:65% 35%}}
@media(max-width:700px){
.header{height:82px;padding:20px 6%;color:var(--plum)}.header .brand{width:182px}.header .brand img:first-child{width:36px}.header .brand img:last-child{width:136px}.header nav{display:none}.menu-toggle{display:block;background:none;color:var(--plum)}
.mobile-nav{z-index:20}.hero{height:auto;min-height:0;grid-template-columns:82% 18%}
.hero-copy{padding:22px 7% 40px;max-width:none;inset:auto}.hero h1{font-size:clamp(70px,19vw,125px);line-height:.83}
.hero-description{font-size:12px;margin-top:23px}.hero-call{margin-top:20px}.hero-legend{font-size:6px}.round-link{font-size:11px;gap:11px}.round-link b{width:42px;height:42px}
.hero-ribbon{padding-bottom:60px}.hero-ribbon strong{font-size:34px}.hero-ribbon>span{font-size:6px;bottom:20px}
.hero-art{grid-column:1/-1;height:350px}.hero-scene{inset:-3%}.hero-scene img{object-position:center 46%}.phone-layer{width:32%;right:1%;bottom:-8%}
.art-note{font-size:6px;padding:48px 12px 12px 60px}.motion-control{left:6%;bottom:10px;background:var(--paper);padding:7px 10px;opacity:.85}
.section{padding:38px 6%}.section-heading{gap:10px;margin-bottom:25px}.section-heading h2{font-size:59px}.section-heading>p{font-size:6px;max-width:90px}
.work-grid{grid-template-columns:1fr;gap:28px}.work-caption{padding-top:12px;flex-wrap:nowrap}.work-caption h3{font-size:16px}.work-caption span{font-size:7px}
.services{grid-template-columns:1fr;gap:30px;min-height:0}.service-intro h2{font-size:64px;margin:16px 0 20px}.service-signature{font-size:7px}
.service-row summary{grid-template-columns:12% 43% 35% 10%;padding:20px 0}.service-number{font-size:32px}.service-word strong{font-size:16px}.service-word small{font-size:9px}.service-photo{height:80px}.service-meta{font-size:0;padding-left:12px}.service-meta b{font-size:22px}
.resource-grid{grid-template-columns:1fr;gap:14px}.resources{padding:0 6% 35px}.resource-card{min-height:365px;padding:24px}.resource-card>h3,.apps-card h3{font-size:55px}.resource-card>p:not(.eyebrow){font-size:9px;max-width:150px}.resource-card>img{width:61%;bottom:12%;right:-9%}.apps-card>img{width:62%}.resource-bottom{left:24px;right:24px}
.contact{display:grid;grid-template-columns:1fr;gap:28px;min-height:0}.contact h2{font-size:58px}.contact-action{width:100%;display:flex;justify-content:space-between;gap:15px}.contact-action p{font-size:10px;margin:0}.contact-brand{width:180px}
footer{padding:22px 6%;gap:15px}footer>span,footer>a:last-child{font-size:8px}dialog h2{font-size:48px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1!important;transform:none!important}}

@media(min-width:701px){.hero h1{font-size:clamp(80px,8.8vw,151px)}}
.contact-action .round-link{color:var(--paper)}.contact-action .round-link b{color:var(--plum)}
.themes-card>h3{font-size:clamp(40px,3.8vw,61px)}.themes-card>img{width:48%;right:-2%}
@media(max-width:700px){.hero h1{font-size:clamp(59px,16.8vw,115px)}.themes-card>h3{font-size:43px;max-width:90%}.themes-card>img{width:53%;right:-5%;bottom:12%}.resource-card>p:not(.eyebrow){max-width:130px}.contact h2{font-size:clamp(44px,13.2vw,58px)}}
.resource-card{align-content:start}
@media(max-width:700px){.resource-card{min-height:395px}.resource-card>h3,.apps-card h3{font-size:45px}.resource-card>img{width:52%;right:-4%;bottom:12%}.resource-card>p:not(.eyebrow){max-width:145px}.apps-card>img{width:50%;right:-3%;bottom:12%}.contact h2{font-size:clamp(39px,11.8vw,53px)}}
/* Fidelity pass against 02-Editorial: proportions, type and overlapping geometry. */
h1,h2,h3{font-weight:600;font-variation-settings:"opsz" 64;letter-spacing:-.065em}
.header{height:6.5vw;min-height:72px;padding:0 4%;display:grid;grid-template-columns:28% 1fr 12%;gap:0;background:var(--paper);z-index:5}
.header .brand{width:clamp(185px,20vw,285px)}.header .brand img:first-child{width:29%}.header .brand img:last-child{width:67%}
.header nav{font-weight:650;font-size:clamp(11px,.95vw,15px);gap:2.5vw;padding-left:0}.header nav .pill{margin-left:auto;margin-right:4vw;padding:12px 24px;min-height:0;font-size:inherit;font-weight:600}
.header-motto{font-size:7px;letter-spacing:.21em;line-height:1.7}
.hero{grid-template-columns:41.5% 8.3% 50.2%;height:40.7vw;min-height:500px;overflow:visible;isolation:auto;z-index:6;pointer-events:none}.hero button,.hero-copy,.hero-art{pointer-events:auto}
.hero-copy{padding:2vw 8.3% 3vw;background:var(--paper)}.hero h1{font-weight:600;font-variation-settings:"opsz" 64;font-size:10.35vw;line-height:.72;letter-spacing:-.075em}.hero h1>span{white-space:nowrap}.accent{color:var(--lime)}
.hero-description{margin-top:2vw;font-size:clamp(12px,1.2vw,18px);letter-spacing:.06em;line-height:1.4}.hero-call{margin-top:1.5vw;justify-content:flex-start;gap:11vw}.hero-legend{font-size:7px;position:relative}.hero-legend:before{content:"";display:block;width:20px;height:1px;background:#35223866;margin-bottom:10px}
.round-link b{width:50px;height:50px}.hero-ribbon{padding:2vw 0 0;justify-content:flex-start;align-items:center;flex-direction:column}.hero-ribbon strong{font-weight:600;font-size:4.2vw;line-height:.85;letter-spacing:-.065em}.hero-ribbon>span{bottom:2.8vw;left:20%;letter-spacing:.2em;line-height:1.7}.hero-ribbon>span:before{content:"";display:block;width:30px;height:1px;background:#35223866;margin-bottom:15px}
.header-rock{position:absolute;width:17%;height:20%;object-fit:contain;left:53%;top:-16%;z-index:3;pointer-events:none}
.hero-art{overflow:visible;z-index:4}.hero-scene{inset:0;overflow:hidden}.hero-scene img{object-position:center;object-fit:cover}.phone-layer{width:40%;right:0;bottom:-1%;z-index:2}.art-note{bottom:-3.2vw;right:0;width:20vw;height:10.5vw;z-index:5;clip-path:polygon(100% 0,100% 100%,0 72%);padding:4.5vw 2vw 0 10.5vw;font-size:7px;text-align:left;line-height:1.5;letter-spacing:.1em}
.motion-control{bottom:4px;font-size:6px}.section-heading h2{font-size:6.5vw;font-weight:600}.works{padding-top:2vw;padding-bottom:2vw;background:radial-gradient(ellipse at 55% 50%,#462c43,var(--plum))}.section-heading{margin-bottom:1.4vw}.work-grid{gap:2vw}.work-caption{position:relative;display:block;padding-top:8px}.work-caption h3{font:600 21px Bodoni,serif;letter-spacing:-.045em}.work-caption span{font-size:10px}.work-caption b{position:absolute;right:0;top:14px}.work-image{border:1px solid #d6cbea55}
.services{padding-top:2.3vw;padding-bottom:2.3vw}.service-intro h2{font-size:6vw;font-weight:600;line-height:.84;margin-top:1.8vw;margin-bottom:2vw}.service-intro h2 span{color:var(--plum)}.service-signature{font-size:8px!important;letter-spacing:.16em;line-height:1.7!important}.service-signature:before{content:"";display:block;width:30px;height:1px;background:#35223866;margin-bottom:13px}.service-word strong{font:600 22px Bodoni,serif;letter-spacing:-.05em}.service-number{font-weight:400;font-size:60px;line-height:1}.service-row summary{padding:13px 0;grid-template-columns:15% 31% 37% 17%}.service-photo{height:90px}.service-meta{font-size:6px}.service-meta b{font-size:15px;margin-top:3px}
.resources{padding:0 0 3px}.resource-grid{gap:6px}.resource-card{min-height:24.5vw;padding:2.8vw 4vw;border-radius:4px;align-content:start}.resource-card>h3,.apps-card h3{font-size:4.4vw;font-weight:600;line-height:.86;margin-top:16px;max-width:70%}.resource-card>p:not(.eyebrow){font-size:11px;max-width:210px;margin-top:18px;letter-spacing:.025em}.themes-card>img{width:49%;right:0;bottom:7%}.apps-card>img{width:49%;right:2%;bottom:4%;transform:none}.resource-card .platforms{font-size:13px;letter-spacing:.03em;display:block;margin-top:15px}.resource-bottom{left:4vw;right:4vw;bottom:20px;justify-content:flex-start;gap:12px;font-size:11px;text-decoration:underline;text-underline-offset:5px}.resource-bottom b{background:none;color:var(--plum);width:auto;height:auto;font-size:18px}.contact{padding:3vw 4%;grid-template-columns:54% 26% 20%;min-height:0;background:radial-gradient(ellipse at 60% 30%,#432a41,var(--plum))}.contact h2{font-weight:600;font-size:6.3vw;line-height:.84;letter-spacing:-.07em}.contact-action p{font-size:11px;line-height:1.3;letter-spacing:.025em}.footer-identity{border-left:1px solid #f6f2ed77;padding:10px 0 10px 30px}.footer-identity p{font-size:7px;text-align:right;margin-top:8px}.footer-mail{background:none;color:var(--paper);font-size:24px;margin-top:15px;padding:0}.contact-brand{width:100%}.contact-brand img:first-child{width:28%}.contact-brand img:last-child{width:68%}footer{padding:20px 4%}footer nav{margin-left:auto;display:flex;gap:24px;font-size:9px}footer nav button{background:none;color:inherit;padding:0;font-size:inherit}
@media(max-width:700px){.header{height:78px;min-height:0;display:flex;justify-content:space-between;padding:0 6%}.header-motto{display:none}.header-rock{display:none}.hero{grid-template-columns:82% 18%;height:auto;min-height:0}.hero-copy{padding:22px 7% 35px}.hero h1{font-size:20vw;line-height:.75;font-weight:600}.hero-description{font-size:12px;margin-top:22px}.hero-call{gap:40px;margin-top:22px}.hero-ribbon{padding-top:24px}.hero-ribbon strong{font-size:34px}.hero-ribbon>span{bottom:25px;font-size:6px}.hero-art{height:350px}.phone-layer{width:35%}.art-note{height:110px;width:180px;bottom:-25px;padding:48px 10px 0 100px;font-size:6px}.works{padding-top:35px;padding-bottom:30px}.section-heading h2{font-size:56px}.work-grid{gap:25px}.services{padding-top:35px;padding-bottom:35px}.service-intro h2{font-size:64px;margin:20px 0}.service-row summary{grid-template-columns:13% 42% 35% 10%;padding:18px 0}.service-number{font-size:36px}.service-word strong{font-size:19px}.service-photo{height:75px}.service-meta{font-size:0}.resource-card{min-height:360px;padding:25px}.resource-card>h3,.apps-card h3{font-size:48px;max-width:90%}.resource-card>p:not(.eyebrow){font-size:10px;max-width:155px}.resource-bottom{left:25px;bottom:20px;font-size:10px}.resource-card>img{width:47%;bottom:14%;right:0}.resource-card .platforms{font-size:11px}.contact{padding:40px 6%;grid-template-columns:1fr;gap:30px}.contact h2{font-size:12.2vw}.footer-identity{border-left:0;border-top:1px solid #fff5;padding:22px 0 0;width:190px}.contact-brand{width:190px}footer{display:block;padding:20px 6%}footer nav{margin-top:20px;gap:18px}.motion-control{font-size:7px;bottom:6px}}
h1,h2,h3,.hero h1,.hero-ribbon strong,.service-word strong{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-variation-settings:normal;letter-spacing:-.065em}.hero h1{font-size:10.1vw;line-height:.74;letter-spacing:-.075em}.service-number{font-family:Editorial,serif;font-weight:300}.resource-card>h3,.apps-card h3{font-size:4.2vw}.contact h2{font-size:6.2vw}.hero-ribbon strong{font-size:4vw}
@media(max-width:700px){.hero h1{font-size:19.2vw}.hero-ribbon strong{font-size:32px}.resource-card>h3,.apps-card h3{font-size:46px}.contact h2{font-size:11.7vw}}
h1,h2,h3,.hero h1,.hero-ribbon strong,.service-word strong{font-family:'Times New Roman',Georgia,serif}.hero h1{font-size:10.5vw;letter-spacing:-.075em;line-height:.71}.hero-call{gap:10vw}.header-rock{width:24%;height:29%;left:51%;top:-17%}.hero-ribbon strong{font-size:4.35vw}.service-photo{height:7.1vw}.service-row summary{padding:1.1vw 0}.resource-card>h3,.apps-card h3{font-size:4.6vw}.section-heading h2{font-size:6.8vw}.contact h2{font-size:6.6vw}
@media(max-width:700px){.hero h1{font-size:19.5vw}.hero-ribbon strong{font-size:34px}.service-photo{height:75px}.service-row summary{padding:18px 0}.resource-card>h3,.apps-card h3{font-size:49px}.section-heading h2{font-size:59px}.contact h2{font-size:12.4vw}}
.motion-control{pointer-events:auto;z-index:8}
/* Resource panels: measured against the approved 971 px reference. */
.resource-card{container-type:inline-size;height:24.5vw;min-height:0;padding:2.6vw 4vw;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}
.resource-card>.eyebrow{font-size:.88vw;letter-spacing:.12em;line-height:1.1}
.resource-card>h3,.apps-card h3{font-family:'Times New Roman',Georgia,serif;font-size:5vw;font-weight:700;line-height:.86;letter-spacing:-.06em;margin:1.25vw 0 0;max-width:80%}
.resource-card>p:not(.eyebrow){font-size:1.1vw;letter-spacing:.045em;line-height:1.3;margin-top:1.65vw;max-width:24vw;z-index:3}
.resource-card .platforms{font-size:1.45vw;font-weight:550;letter-spacing:.04em;margin-top:1.25vw;line-height:1}
.apps-card>p:not(.eyebrow){margin-top:.7vw;max-width:20vw}
.themes-card>img{width:49%;right:0;bottom:5%;transform:rotate(-3deg);z-index:1}
.apps-card>img{width:46%;right:4%;bottom:1%;transform:none;z-index:1}
.resource-fold{position:absolute;right:0;bottom:0;width:55%;height:39%;background:linear-gradient(145deg,#e4dbf3,#cbbbdf);clip-path:polygon(100% 0,100% 100%,0 100%);border-bottom:2px solid #eee7f7;z-index:2;pointer-events:none}
.resource-corner{position:absolute;right:2.8vw;bottom:2.1vw;font-size:.68vw;line-height:1.65;letter-spacing:.17em;font-weight:550;z-index:4;text-align:left}
.apps-card .resource-corner{right:2.2vw;bottom:2.7vw}
.resource-bottom{left:4vw;right:auto;bottom:2vw;font-size:1.15vw;gap:.8vw;line-height:1;z-index:4}
.resource-bottom b{font-size:1.6vw}.resource-card:hover .resource-bottom b{transform:translateX(4px)}
@media(max-width:700px){.resource-card{height:330px;min-height:0;padding:25px 28px}.resource-card>.eyebrow{font-size:9px}.resource-card>h3,.apps-card h3{font-size:44px;margin-top:15px;line-height:.9}.resource-card>p:not(.eyebrow){font-size:10px;max-width:180px;margin-top:18px}.resource-card .platforms{font-size:13px;margin-top:13px}.apps-card>p:not(.eyebrow){margin-top:8px;max-width:155px}.resource-card>img{width:45%;right:0;bottom:11%}.apps-card>img{width:45%;right:3%;bottom:13%}.resource-corner,.apps-card .resource-corner{font-size:7px;right:18px;bottom:22px;line-height:1.6;letter-spacing:.12em}.resource-bottom{left:28px;bottom:25px;font-size:11px;gap:8px}.resource-bottom b{font-size:17px}.resource-fold{height:30%;width:52%}}
/* Services: reference proportions and undistorted image windows. */
.services{grid-template-columns:42% 58%;padding:2vw 3.8% 2.3vw;gap:0}
.service-intro>.eyebrow{font-size:1vw;letter-spacing:.16em}
.service-intro h2{font-size:6.8vw;line-height:.82;letter-spacing:-.065em;margin:1.8vw 0 2.1vw}
.service-signature{font-size:.8vw!important;line-height:1.6!important;letter-spacing:.16em}
.service-row summary{grid-template-columns:16% 30% 37% 17%;padding:1.25vw 0;align-items:center}
.service-row:first-child summary{padding-top:0}
.service-number{font-family:Editorial,'Times New Roman',serif;font-size:7.1vw;font-weight:300;line-height:.86;letter-spacing:-.08em;align-self:start;font-variant-numeric:lining-nums;display:block}
.service-word strong{font-family:'Times New Roman',serif;font-size:2vw;line-height:1;font-weight:700;letter-spacing:-.045em}
.service-word small{font-size:1.02vw;line-height:1.25;letter-spacing:.045em;max-width:none;margin-top:.85vw;padding-right:1.3vw}
.service-photo{width:100%;height:auto;aspect-ratio:2.75 / 1;background-size:300% auto;background-repeat:no-repeat;box-shadow:none;transform:none}
.photo-design{background-position:0 43%}.photo-dev{background-position:50% 47%}.photo-shop{background-position:100% 52%}
.service-meta{font-size:.62vw;line-height:1.65;letter-spacing:.14em;padding-left:1.6vw;position:relative}
.service-meta b{font-size:1.2vw;line-height:1;margin-top:.4vw}
.service-row summary:hover .service-photo,.service-row[open] .service-photo{transform:translateY(-3px);box-shadow:0 8px 14px #35223818}
.service-detail{padding-left:16%}.service-detail p{font-size:clamp(12px,1vw,17px)}
@media(max-width:700px){.services{grid-template-columns:1fr;padding:35px 6%;gap:30px}.service-intro>.eyebrow{font-size:10px}.service-intro h2{font-size:64px;margin:20px 0 24px}.service-signature{font-size:8px!important}.service-row summary{grid-template-columns:18% 48% 34%;padding:20px 0;row-gap:12px}.service-number{font-size:58px;grid-column:1;grid-row:1 / 3}.service-word{grid-column:2 / 4;grid-row:1}.service-word strong{font-size:23px}.service-word small{font-size:11px;margin-top:8px;padding-right:0}.service-word small br{display:none}.service-photo{grid-column:2;grid-row:2;aspect-ratio:2.1 / 1}.service-meta{grid-column:3;grid-row:2;font-size:6px;padding-left:15px;letter-spacing:.12em}.service-meta b{font-size:18px;margin-top:6px}.service-detail{padding-left:18%;padding-right:0}}
.service-photo{background-image:url(assets/services-horizontal.png);background-size:100% auto;aspect-ratio:1200 / 436}.photo-design{background-position:50% 0}.photo-dev{background-position:50% 50%}.photo-shop{background-position:50% 100%}
/* Continuous, single-piece hero scene with physical monitor support. */
.hero-art{background:radial-gradient(ellipse at 42% 53%,#e6def0 0,#d6cbea 64%,#c8bada 100%);isolation:auto}
.hero-scene{top:calc(-1 * max(6.5vw,72px));left:-3%;right:-2%;bottom:0;overflow:visible;z-index:1;pointer-events:none}
.hero-scene img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 12px #35223815)}
.phone-layer{width:34%;right:1%;bottom:9%;z-index:2}
.hero-work-link{position:absolute;right:4%;bottom:-37px;width:clamp(210px,19vw,300px);padding:20px 24px 17px;display:flex;flex-direction:column;gap:10px;background:var(--lavender);color:var(--plum);z-index:6;transform:rotate(-4deg);box-shadow:0 15px 25px #1c0d2338;border:1px solid #f6f2ed77;transition:transform .35s,box-shadow .35s;pointer-events:auto}
.hero-work-link:hover,.hero-work-link:focus-visible{transform:rotate(0) translateY(-6px);box-shadow:0 20px 28px #1c0d2345}
.hero-work-label{font-size:8px;letter-spacing:.16em;font-weight:600}.hero-work-title{font:600 clamp(24px,2.3vw,36px)/1 'Times New Roman',serif;letter-spacing:-.04em;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-work-title b{font:24px Instrument,sans-serif;background:var(--lime);border-radius:50%;width:37px;height:37px;display:grid;place-items:center;transition:transform .35s}.hero-work-link:hover b{transform:rotate(45deg)}.hero-work-foot{font-size:9px;border-top:1px solid #35223833;padding-top:9px;line-height:1.4}
@media(max-width:700px){.hero-art{height:400px}.hero-scene{top:-20px;left:0;right:0;bottom:0}.phone-layer{width:30%;bottom:15%;right:2%}.hero-work-link{width:205px;right:6%;bottom:-30px;padding:15px 18px;gap:8px}.hero-work-title{font-size:26px}.hero-work-label{font-size:7px}.hero-work-foot{font-size:8px}.works{padding-top:65px}}
.hero-scene{left:0;right:0}body{overflow-x:clip}
.hero-work-title{white-space:nowrap}.hero-work-title b{flex-shrink:0}@media(max-width:700px){.hero-work-title{font-size:23px;gap:8px}.hero-work-title b{width:31px;height:31px;font-size:21px}}
