/* Shared finish and a complete dark palette. Source template remains intact. */
.ap-home{--ap-surface:#fff;--ap-soft:#efefef;--ap-card:#f9f9f9;--ap-border:#e0e0e0;--ap-action:#252525;--ap-on-action:#fff;--ap-detail:#6d6d6d;--ap-header:#ffffffe6;--ap-scene-card:#f9f9f9}
.ap-header{gap:16px;border-color:#d2d2d255;background:var(--ap-header);box-shadow:0 8px 32px #30303007;backdrop-filter:blur(20px)}
.ap-desktop-nav{gap:29px;padding-left:0;margin-left:auto;margin-right:auto}.ap-desktop-nav a{font-weight:500}.ap-header-cta{gap:20px;white-space:nowrap}
.ap-theme-toggle:not([hidden]){display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid var(--ap-border);border-radius:50%;background:transparent;color:var(--ap-ink);cursor:pointer;transition:background .2s,border-color .2s}
.ap-theme-toggle:hover{background:var(--ap-soft);border-color:var(--ap-detail)}.ap-theme-toggle svg{width:21px;height:21px;grid-area:1/1}.ap-theme-sun{display:none}
.ap-full-site .ap-hero{background:radial-gradient(ellipse at 50% 31%,#ededed99,transparent 63%),var(--ap-paper);padding-top:158px;padding-bottom:74px}
.ap-grid{background-size:26px 26px;opacity:.75}.ap-hero:after{bottom:0;height:180px;background:linear-gradient(0deg,var(--ap-paper),transparent)}
.ap-eyebrow{margin-bottom:25px!important}.ap-mini-mark{box-shadow:0 3px 8px #b8472224}
.ap-home .ap-hero h1{font-size:clamp(80px,8.7vw,126px);line-height:1.01;letter-spacing:-.061em;text-wrap:balance}
.ap-full-site .ap-hero-copy{margin-top:32px;line-height:1.65;max-width:490px}.ap-hero-actions{gap:12px}.ap-hero-actions .ap-button{min-height:54px;padding-left:25px;padding-right:25px}
.ap-button-primary,.ap-header-cta,.ap-services .btn{background:var(--ap-action);color:var(--ap-on-action)!important;border-color:var(--ap-action)}
.ap-button-primary:hover,.ap-header-cta:hover,.ap-services .btn:hover{background:var(--ap-action);filter:brightness(1.18)}
.ap-button-secondary{background:var(--ap-surface);border-color:var(--ap-border);box-shadow:0 2px 2px #2f2f2f03}.ap-button-secondary:hover{background:var(--ap-soft)}
.ap-work-area{margin-top:56px}.ap-work-heading{margin-bottom:24px}.ap-work-number{color:var(--ap-detail)}
.ap-work-grid{gap:25px;grid-template-columns:1fr 1.1fr 1fr}.ap-project-invo{transform:rotate(-2.5deg) translateY(15px)}.ap-project-callr{transform:rotate(2.5deg) translateY(15px)}
.ap-project-art{height:250px;border:4px solid var(--ap-surface);border-radius:18px;box-shadow:0 16px 32px #27272712,0 2px 6px #2727270c}.ap-project-caption{padding-top:18px}.ap-project-name{font-size:17px}.ap-project-status{border-color:var(--ap-border)}
.ap-project-open{transition:transform .25s,background .25s}.ap-project:hover .ap-project-open{transform:rotate(45deg);background:#f2f2f2}
.ap-section-label,.ap-service-meta>span,.ap-card-number{font-variant-numeric:tabular-nums}
.ap-service-card{box-shadow:0 -5px 15px var(--ap-surface)}.ap-service-card h3 a span{transition:transform .2s}.ap-service-card h3 a:hover span{transform:translate(3px,-3px)}
.ap-principle,.ap-news-card{box-shadow:0 4px 16px #27272703}.ap-news-card{overflow:hidden}.ap-news-image img{border-radius:0}.ap-faq-list details[open] summary{color:var(--ap-ink)}
.ap-closing{background:radial-gradient(ellipse at 50% 100%,#e1e1e166,transparent 70%)}.ap-closing .ap-button{min-width:180px}.ap-site-footer a{transition:color .2s}.ap-footer-bottom a:hover{color:#f4f4f4}
/* Theme values are deliberately scoped instead of enabling the template's demo dark utilities. */
[data-theme="dark"] .ap-home{--ap-paper:#101010;--ap-ink:#f2f2f2;--ap-muted:#b4b4b4;--ap-orange:#ef966d;--ap-line:#ffffff20;--ap-surface:#191919;--ap-soft:#222222;--ap-card:#1c1c1c;--ap-border:#383838;--ap-action:#ededed;--ap-on-action:#171717;--ap-detail:#adadad;--ap-header:#191919ed;--ap-scene-card:#1c1c1c;background:var(--ap-paper);color:var(--ap-ink)}
[data-theme="dark"] .ap-logo img{filter:invert(1)}
[data-theme="dark"] .ap-theme-moon{display:none}[data-theme="dark"] .ap-theme-sun{display:block}
[data-theme="dark"] .ap-header{border-color:#c1c1c126;box-shadow:0 8px 40px #0002}
[data-theme="dark"] .ap-desktop-nav a{color:var(--ap-muted)}[data-theme="dark"] .ap-desktop-nav a:hover{color:var(--ap-ink)}
[data-theme="dark"] .ap-mobile-nav:not([hidden]){background:#191919f5;border-color:var(--ap-border)}
[data-theme="dark"] .ap-hero{background:radial-gradient(ellipse at 50% 31%,#32323255,transparent 63%),var(--ap-paper)}
[data-theme="dark"] .ap-grid{background-image:radial-gradient(#b1b1b166 .7px,transparent .7px)}
[data-theme="dark"] .ap-full-site :is(.ap-section-label,.ap-project-status,.ap-project-kind,.ap-eyebrow,.ap-hero-note,.ap-work-heading,.ap-mobile-hint,.ap-card-number){color:var(--ap-detail)}
[data-theme="dark"] :is(.ap-service-meta>span,.ap-work-card-tags,.ap-filter-count){color:var(--ap-detail)!important}
[data-theme="dark"] .ap-mini-mark{color:#252525;box-shadow:0 3px 12px #0003}
[data-theme="dark"] :is(.ap-button-primary,.ap-header-cta){box-shadow:none}
[data-theme="dark"] .ap-services{background:#151515}
[data-theme="dark"] .ap-services .badge{background:var(--ap-soft);border-color:var(--ap-border);color:var(--ap-detail)}
[data-theme="dark"] .ap-service-card{background:var(--ap-card)!important;border-color:var(--ap-border)!important;box-shadow:0 -5px 15px #151515}
[data-theme="dark"] .ap-process .main-container>div:not(.ap-section-intro)>div>div{background:transparent!important;border-color:var(--ap-border)!important}
[data-theme="dark"] .ap-process :is(.text-accent,.text-secondary){color:var(--ap-ink)}
[data-theme="dark"] .ap-process .btn{background:var(--ap-surface);color:var(--ap-ink);border-color:var(--ap-border)}
[data-theme="dark"] .ap-dark-panel{background:#0b0b0b;border:1px solid var(--ap-border)}
[data-theme="dark"] .ap-dark-panel .ap-button-secondary{background:var(--ap-action);color:var(--ap-on-action)}
[data-theme="dark"] .ap-principles-band{background:#161616;border-color:var(--ap-border)}
[data-theme="dark"] :is(.ap-principle,.ap-news-card){background:var(--ap-card);border-color:var(--ap-border)!important;box-shadow:none}
[data-theme="dark"] .ap-principle .ap-line-icon,[data-theme="dark"] .ap-service-detail aside .ap-line-icon{color:#c3c3c3}
[data-theme="dark"] .ap-journal-band{background:#141414}
[data-theme="dark"] :is(.ap-faq-list details,.ap-reading details){border-color:var(--ap-border)}
[data-theme="dark"] .ap-faq-list summary>span{color:var(--ap-detail)}
[data-theme="dark"] .ap-closing{background:radial-gradient(ellipse at 50% 100%,#35353544,transparent 70%)}
[data-theme="dark"] .ap-site-footer{background:#080808;border-top:1px solid var(--ap-border)}
[data-theme="dark"] .ap-filter-tabs button{color:var(--ap-muted);border-color:var(--ap-border)}
[data-theme="dark"] .ap-filter-tabs button[aria-pressed="true"]{background:var(--ap-action);color:var(--ap-on-action);border-color:var(--ap-action)}
[data-theme="dark"] .ap-search-label input{background:var(--ap-surface);border-color:var(--ap-border);color:var(--ap-ink)}
[data-theme="dark"] .ap-search-label input::placeholder{color:var(--ap-detail)}
[data-theme="dark"] :is(.ap-no-results,.ap-list-panel){background:var(--ap-soft);border-color:var(--ap-border)}
[data-theme="dark"] :is(.ap-case-hero figcaption,.ap-case-layout aside>p:not(.ap-section-label),.ap-case-layout aside li,.ap-reading p,.ap-reading ul,.ap-reading ol,.ap-list-panel li,.ap-plan li){color:var(--ap-muted);border-color:var(--ap-border)}
[data-theme="dark"] .ap-plan{background:var(--ap-surface);border-color:var(--ap-border)}
[data-theme="dark"] .ap-plan:nth-child(2){background:#252525;border-color:#5b5b5b}
[data-theme="dark"] .ap-plan .ap-plan-price{color:var(--ap-ink)}
[data-theme="dark"] .ap-contact{background:#181818}
[data-theme="dark"] .ap-contact .landscape{background:#181818 none center/cover no-repeat}
[data-theme="dark"] .ap-contact-card{background:linear-gradient(130deg,#222222f7,#191919f5);border-color:#8787874a;box-shadow:0 20px 65px #0003}
[data-theme="dark"] .ap-contact-intro>p:not(.ap-section-label){color:#dbdbdb}
[data-theme="dark"] .ap-contact-intro .ap-contact-note{color:#c9c9c9}
[data-theme="dark"] .ap-contact-form :is(label,.ap-form-disclosure,.ap-form-status){color:var(--ap-detail)}
[data-theme="dark"] .ap-contact-form :is(input,select,textarea){background:#11111199;border-color:#636363;color:var(--ap-ink)}
[data-theme="dark"] .ap-contact-form :is(input,textarea)::placeholder{color:#b3b3b3}
[data-theme="dark"] .ap-contact-form .divider{background:var(--ap-border)}
[data-theme="dark"] .ap-contact-form .ap-form-status[data-state="error"]{color:#f5ae90}
[data-theme="dark"] .ap-water-control{background:#1c1c1ceb;border-color:var(--ap-border);color:var(--ap-ink)}
[data-theme="dark"] .ap-menu-toggle:not([hidden]){border-color:var(--ap-border)}
[data-theme="dark"] .ap-skip{background:var(--ap-action);color:var(--ap-on-action)!important}
@media(max-width:1050px){.ap-header{gap:12px}.ap-desktop-nav{gap:23px}.ap-header-cta{display:none}.ap-desktop-nav{margin-right:auto}.ap-theme-toggle:not([hidden]){margin-left:auto}}
@media(max-width:850px){.ap-project-art{height:200px}.ap-full-site .ap-hero{padding-top:150px}.ap-home .ap-hero h1{font-size:94px}}
@media(max-width:680px){.ap-header{gap:8px;padding-left:20px;padding-right:8px}.ap-logo{margin-right:auto}.ap-theme-toggle:not([hidden]){width:40px;height:40px;flex-basis:40px;margin:0}.ap-theme-toggle svg{width:19px;height:19px}.ap-menu-toggle:not([hidden]){width:40px;height:40px}.ap-full-site .ap-hero{padding-top:126px;padding-bottom:43px}.ap-home .ap-hero h1{font-size:clamp(62px,16.3vw,100px);line-height:1.02;letter-spacing:-.061em}.ap-eyebrow{margin-bottom:24px!important}.ap-full-site .ap-hero-copy{font-size:15px;line-height:1.65;margin-top:28px;margin-bottom:24px}.ap-hero-actions{gap:9px}.ap-hero-actions .ap-button{min-height:49px;padding-left:18px;padding-right:18px;font-size:12px}.ap-work-area{margin-top:42px}.ap-work-heading{margin-bottom:17px}.ap-work-grid{gap:15px}.ap-project-art{height:210px;border-radius:16px}.ap-project-caption{padding-top:14px}.ap-project-name{font-size:16px}.ap-project-status{font-size:8px}.ap-project:hover .ap-project-open{transform:none}}
@media(max-width:360px){.ap-header{padding-left:17px}.ap-home .ap-hero h1{font-size:57px}.ap-full-site .ap-hero-copy{font-size:13px}.ap-hero-actions .ap-button{font-size:11px;padding-left:14px;padding-right:14px}.ap-project-art{height:180px}}

/* Open columns keep the three-step process readable between the stacked cards. */
.ap-services .btn,.ap-process .btn{text-transform:none;letter-spacing:0}
.ap-process [role="region"]>div:first-child{display:none}
.ap-full-site .ap-process .main-container>div:not(.ap-section-intro)>div>div[role="region"]{background:transparent!important;border-top:1px solid var(--ap-line);padding:25px 0 0!important;max-width:none;flex:1;align-self:stretch}
.ap-process [role="region"]>p{font-family:"Plex Mono",monospace;font-size:10px;color:var(--ap-orange);margin:0 0 22px}
.ap-process [role="region"] h3{margin:0 0 17px;font-size:24px}
.ap-process [role="region"]>div:last-child>p{font-size:15px;line-height:1.8;margin:0}
.ap-process .space-y-14>.flex{align-items:stretch}
@media(max-width:680px){.ap-process [role="region"]>p{margin-bottom:15px}.ap-process [role="region"] h3{font-size:24px}.ap-process [role="region"]>div:last-child>p{font-size:14px}.ap-header{padding-top:7px;padding-bottom:7px}.ap-theme-toggle:not([hidden]),.ap-menu-toggle:not([hidden]){width:44px;height:44px;flex-basis:44px}}

/* Theme colors change together so button labels never disappear mid-switch. */
.ap-button,.ap-header-cta,.ap-services .btn,.ap-process .btn{transition:transform .2s,box-shadow .2s,filter .2s}

/* Neutral graphite direction: warm orange is the sole interface accent. */
.ap-site-footer{background:#111111}
[data-theme="dark"] .ap-project:hover .ap-project-open{background:#ededed}

/* Interior pages share the studio's type, with distinct reading and browsing layouts. */
.ap-page-hero{padding-top:145px;padding-bottom:56px}
.ap-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:11px;line-height:1.6;color:var(--ap-detail);margin-bottom:30px}
.ap-breadcrumb a{min-height:28px;display:inline-flex;align-items:center}.ap-breadcrumb a:hover{color:var(--ap-ink);text-decoration:underline;text-underline-offset:4px}
.ap-full-site .ap-page-hero h1{font-size:clamp(55px,6.2vw,89px);line-height:1.05;letter-spacing:-.055em;text-wrap:balance}
.ap-page-hero .ap-page-intro{max-width:760px;font-size:18px;line-height:1.75}
.ap-service-page .ap-page-hero{padding-bottom:49px}.ap-service-page .ap-service-detail{padding-top:35px;border-top:1px solid var(--ap-line)}
.ap-service-page .ap-list-panel{background:var(--ap-surface);border-color:var(--ap-border)}
.ap-service-page .ap-list-panel:nth-child(2){background:var(--ap-soft)}
.ap-service-page .ap-service-explainer{padding-top:10px;padding-bottom:15px}
.ap-guide-section .ap-section-row{margin-bottom:26px}.ap-guide-section .ap-section-row h2{font-size:clamp(30px,3vw,44px)}
.ap-guide-row{display:grid;grid-template-columns:35px minmax(0,1fr) 25px;align-items:start;gap:24px;padding:28px 0;border-top:1px solid var(--ap-line);transition:background .2s}
.ap-guide-row:last-child{border-bottom:1px solid var(--ap-line)}
.ap-guide-number{font-family:"Plex Mono",monospace;font-size:9px;color:var(--ap-detail);padding-top:10px}
.ap-guide-row strong{display:block;font-size:25px;font-weight:400;letter-spacing:-.025em;line-height:1.3;max-width:940px}
.ap-guide-row>span:nth-child(2)>span{display:block;font-size:14px;line-height:1.8;color:var(--ap-muted);max-width:800px;margin-top:10px}
.ap-guide-row>span:last-child{font-size:25px;transition:transform .2s}.ap-guide-row:hover>span:last-child{transform:translate(3px,-3px)}.ap-guide-row:hover strong{color:var(--ap-orange)}
.ap-editorial-page .ap-page-hero,.ap-legal-page .ap-page-hero{padding-bottom:39px}
.ap-full-site.ap-editorial-page .ap-page-hero h1,.ap-full-site.ap-legal-page .ap-page-hero h1{font-size:clamp(43px,4.8vw,69px);line-height:1.1;max-width:1060px;letter-spacing:-.045em}
.ap-editorial-page .ap-page-hero .ap-page-intro{max-width:850px}
.ap-editorial-page .ap-article-image{max-width:1248px;margin-bottom:65px}.ap-editorial-page .ap-article-image img{max-height:480px}
.ap-editorial-layout{display:grid;grid-template-columns:minmax(170px,240px) minmax(0,760px);justify-content:space-between;gap:75px;margin-bottom:78px;align-items:start}
.ap-toc{position:sticky;top:35px;max-height:calc(100svh - 70px);overflow:auto;padding-bottom:15px}
.ap-toc .ap-section-label{margin-bottom:10px}.ap-reading-time{font-size:11px!important;margin:0 0 24px;color:var(--ap-detail)!important}
.ap-toc nav{display:flex;flex-direction:column;border-left:1px solid var(--ap-line);padding-left:18px;gap:3px}
.ap-toc nav a{font-size:12px;line-height:1.7;color:var(--ap-muted);display:block;padding:7px 0}
.ap-toc nav a:hover{color:var(--ap-ink);text-decoration:underline;text-underline-offset:4px}
.ap-editorial-body{width:100%;max-width:none}.ap-editorial-body>section{margin-bottom:40px}.ap-editorial-body>section:last-child{margin-bottom:0}.ap-editorial-body h2{scroll-margin-top:40px}
.ap-next-project{display:grid;grid-template-columns:1fr 1.45fr;gap:80px;align-items:center;border-top:1px solid var(--ap-line);padding-top:55px;padding-bottom:60px}
.ap-next-project h2{margin:0 0 23px}.ap-next-project>a{display:grid;grid-template-columns:180px 1fr;gap:25px;align-items:center}
.ap-next-project>a>img{width:180px;height:135px;object-fit:cover;border-radius:13px}
.ap-next-project>a>span{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:30px;line-height:1.25;letter-spacing:-.03em}.ap-next-project>a:hover>span{color:var(--ap-orange)}
.ap-news-featured{margin-bottom:42px}.ap-news-featured .ap-news-card{display:grid;grid-template-columns:1.2fr 1fr;min-height:375px}
.ap-news-featured .ap-news-image{aspect-ratio:auto;height:100%;min-height:375px}
.ap-news-featured .ap-news-body{padding:35px}.ap-news-featured .ap-news-body h3{font-size:clamp(27px,2.7vw,39px);line-height:1.15;margin-bottom:23px}
.ap-news-featured .ap-news-body>p:not(.ap-section-label){font-size:15px}.ap-news-featured .ap-news-body .ap-text-link{padding-top:25px}
.ap-plan h2{min-height:105px}.ap-plan .ap-button{white-space:normal}
@media(max-width:950px){.ap-editorial-layout{grid-template-columns:190px minmax(0,1fr);gap:38px}.ap-news-featured .ap-news-body{padding:26px}.ap-news-featured .ap-news-body h3{font-size:29px}.ap-next-project{gap:35px}.ap-next-project>a{grid-template-columns:130px 1fr;gap:20px}.ap-next-project>a>img{width:130px;height:110px}.ap-next-project>a>span{font-size:25px}}
@media(max-width:680px){
 .ap-page-hero{padding-top:112px;padding-bottom:35px}.ap-breadcrumb{font-size:10px;margin-bottom:22px;gap:8px}.ap-full-site .ap-page-hero h1{font-size:clamp(43px,11.7vw,67px);line-height:1.08}.ap-page-hero .ap-page-intro{font-size:16px;line-height:1.75}
 .ap-full-site.ap-editorial-page .ap-page-hero h1,.ap-full-site.ap-legal-page .ap-page-hero h1{font-size:clamp(36px,9.2vw,56px);line-height:1.13;letter-spacing:-.04em}
 .ap-editorial-page .ap-page-hero,.ap-legal-page .ap-page-hero{padding-bottom:30px}.ap-editorial-page .ap-article-image{margin-bottom:33px}
 .ap-editorial-layout{display:block;margin-bottom:45px}.ap-toc{position:static;max-height:none;padding-bottom:28px;margin-bottom:30px;border-bottom:1px solid var(--ap-line)}.ap-toc .ap-section-label{margin-bottom:7px}.ap-reading-time{margin-bottom:13px}.ap-toc nav{padding-left:14px;gap:0}.ap-toc nav a{font-size:12px;padding:8px 0;min-height:35px}.ap-editorial-body h2{font-size:28px;line-height:1.2}.ap-editorial-body p{font-size:16px}
 .ap-guide-row{grid-template-columns:22px minmax(0,1fr) 20px;gap:12px;padding:23px 0}.ap-guide-number{font-size:8px;padding-top:5px}.ap-guide-row strong{font-size:22px;line-height:1.35}.ap-guide-row>span:nth-child(2)>span{font-size:13px;line-height:1.8;margin-top:10px}.ap-guide-row>span:last-child{font-size:22px}.ap-guide-section .ap-section-row h2{font-size:32px}.ap-guide-section .ap-section-row>.ap-text-link{margin-top:15px}
 .ap-next-project{grid-template-columns:1fr;gap:25px;padding-top:35px;padding-bottom:35px}.ap-next-project h2{font-size:34px;margin-bottom:15px}.ap-next-project>a{grid-template-columns:100px 1fr;gap:20px}.ap-next-project>a>img{width:100px;height:90px}.ap-next-project>a>span{font-size:25px}
 .ap-news-featured{margin-bottom:25px}.ap-news-featured .ap-news-card{display:flex;min-height:0}.ap-news-featured .ap-news-image{aspect-ratio:1.6;min-height:0;height:auto}.ap-news-featured .ap-news-body{padding:24px}.ap-news-featured .ap-news-body h3{font-size:28px}.ap-news-featured .ap-news-body>p:not(.ap-section-label){font-size:14px}
 .ap-service-page .ap-service-detail{padding-top:27px}.ap-service-page .ap-service-explainer{padding-bottom:0}.ap-plan h2{min-height:0}
}

.ap-page-guides .ap-guide-section{padding-top:25px!important}
