/* Shared soft surfaces, loaded after each page's established layout. */
body.ap-soft{--soft-radius:26px;--soft-card:20px;--soft-control:12px;--soft-border:#e5dbea;--soft-shadow:0 6px 14px #38214804,0 24px 50px -38px #55347230;--soft-paper:#fdfbff;accent-color:#8355ac}
/* Navigation stays outside clipping surfaces so its dropdowns remain accessible. */
body.ap-soft .nav{border:1px solid #e9e0f0;border-radius:20px;background:#fffffff0;box-shadow:0 8px 28px -18px #45225c40}
body.ap-soft .nav-inner{border-radius:inherit;padding-inline:12px}
body.ap-soft .nav-cta.glass-cta,body.ap-soft .nav-cta .gc-inner{border-radius:12px}
body.ap-soft .nav-cta .gc-icon{border-radius:8px}
body.ap-soft .nav-burger{border-radius:12px;width:44px;height:44px;flex-shrink:0}
body.ap-soft .nav-links :is(a,button.nav-mega-trigger){border-radius:10px}
body.ap-soft .mega{border-radius:24px;box-shadow:0 20px 55px -25px #42235340}
body.ap-soft .mega-co,body.ap-soft .mega-co-ic{border-radius:14px}
body.ap-soft .mobile-menu{border-radius:22px;box-shadow:0 18px 50px -18px #42235340}
body.ap-soft .mobile-menu .mobile-menu-cta{border-radius:13px;min-height:48px}
body.ap-soft .mobile-menu nav>a{border-radius:12px}
body.ap-soft .sv-mobile-cards>a{border-radius:18px}
/* Rounded surfaces replace the old square frame decorations. */
body.ap-soft .gj-frame:after{display:none}
body.ap-soft :is(.gj-demo,.gj-feature,.gj-about-inner,.gj-enquiry-inner,.tk-panel,.mp-preview-inner){border-radius:var(--soft-radius);box-shadow:var(--soft-shadow)}
body.ap-soft :is(.gj-demo,.gj-feature,.gj-enquiry-inner,.mp-preview-inner){overflow:hidden}
body.ap-soft .gj-demo-toolbar{border-radius:25px 25px 0 0;background:#faf7fe}
body.ap-soft .gj-demo-bottom{border-radius:0 0 25px 25px}
body.ap-soft .gj-feature-copy{border-radius:25px 0 0 25px}
body.ap-soft .gj-feature-visual{border-radius:0 25px 25px 0}
body.ap-soft .gj-bento-card{border-radius:var(--soft-radius);border-color:var(--soft-border);box-shadow:var(--soft-shadow);padding:10px 10px 28px;overflow:hidden}
body.ap-soft .gj-bento-art{border-radius:18px;overflow:hidden}
body.ap-soft :is(.gj-pay-receipt,.gj-notification,.gj-float-tag,.gj-free-note,.ix-workspace-board,.ix-project-detail,.ix-member-card,.ix-launch-console){border-radius:16px}
body.ap-soft :is(.ix-project-option,.ix-board-metrics>div,.ix-launch-stages button,.ix-session-list button){border-radius:10px}
body.ap-soft :is(.ix-action,.ix-reset,.ix-booking-action,.ix-launch-actions button){border-radius:12px}
body.ap-soft .tk-tool{border-radius:16px}
body.ap-soft .tk-tags li{border-radius:8px}
body.ap-soft .tk-panel{box-shadow:0 24px 65px -40px #46226055}
body.ap-soft .gj-about-inner{box-shadow:0 24px 65px -42px #46226040}
body.ap-soft .mp-preview-image>img{border-radius:18px}
body.ap-soft .gj-hero-actions{border-radius:17px;padding:6px;box-shadow:0 8px 24px -20px #4a275a40}
body.ap-soft :is(.gj-button,.sr-button,.sx-btn,.btn-aurora,.sr-submit,.svc-form-btn,.mp-submit,.mp-next){border-radius:var(--soft-control)}
body.ap-soft .gj-button-icon{border-radius:8px}
body.ap-soft .gj-hero-enquire{border-radius:11px}
body.ap-soft main .glass-cta{border-radius:13px}
body.ap-soft main .glass-cta .gc-inner{border-radius:12px}
body.ap-soft main .glass-cta .gc-icon{border-radius:8px}
/* Services, studio, editorial and confirmation pages share the same surfaces. */
body.ap-soft :is(.sr-hero-photo,.sr-project-media,.bp-image,.bp-free-art,.svc-why2-img){border-radius:var(--soft-radius);border-color:var(--soft-border);box-shadow:var(--soft-shadow)}
body.ap-soft .sr-hero-photo:after{border-radius:inherit}
body.ap-soft :is(.sr-visual-note,.svc-why2-img figcaption){border-radius:16px}
body.ap-soft :is(.sr-capability,.bp-value-grid article,.svc-feat,.svc-pain,.svc-other,.svc-hub-card.ind-card,.svc-why2-list .svc-why-item,.blog-card,.f2card){border-radius:var(--soft-card);border-color:var(--soft-border);background:#fff;box-shadow:var(--soft-shadow)}
body.ap-soft :is(.sr-process,.bp-about-letter,.bp-final,.bp-success-inner,.sr-enquiry,.bp-contact .sr-enquiry,.svc-signup-box,.svc-cta-box,.post-cta,.ap-success .wrap){border-radius:var(--soft-radius);border-color:var(--soft-border);box-shadow:var(--soft-shadow)}
body.ap-soft .sr-enquiry{overflow:hidden}
body.ap-soft .sr-project-wide{border:1px solid var(--soft-border);background:#fff;box-shadow:var(--soft-shadow);border-radius:var(--soft-radius)}
body.ap-soft .sr-project-status{border-radius:100px}
body.ap-soft :is(.sr-project-tags>span,.bp-free-list>li,.chip,.mp-current-offer){border-radius:10px}
body.ap-soft .mp-current-offer{border-radius:20px;background:#f8f4fc;border-color:var(--soft-border)}
body.ap-soft .svc-hub-card{overflow:hidden}
body.ap-soft :is(.svc-hub-card .ind-ic,.svc-hub-card .ind-arrow,.f2icon){border-radius:12px}
body.ap-soft .blog-card{padding:8px}
body.ap-soft .blog-card-top{border-radius:14px;background:linear-gradient(135deg,#f5edfd,#e9daf6)}
body.ap-soft .blog-card-body{padding:22px 18px}
body.ap-soft .post-body img{border-radius:18px;max-width:100%;height:auto}
body.ap-soft .sr-capabilities{border:0;gap:16px}
/* Comfortable controls and visible focus, including keyboard-selected radio cards. */
body.ap-soft :is(.mp-field input,.mp-field textarea,.mp-field select,.sr-field input,.sr-field textarea,.sr-field select,.svc-form input,.svc-form textarea){border-radius:var(--soft-control);background:#fcfaff;border-color:#dfd3e9;min-height:48px;line-height:1.5}
body.ap-soft :is(.mp-field textarea,.sr-field textarea,.svc-form textarea){resize:vertical}
body.ap-soft .mp-plan-options span,body.ap-soft .sr-budgets span{border-radius:12px;min-height:68px}
body.ap-soft .mp-plan-options input:focus-visible+span{outline:2px solid #8150bd;outline-offset:3px}
body.ap-soft :is(.mp-back,.ix-reset){min-width:44px;min-height:44px;border-radius:12px}
body.ap-soft :is(.mp-submit,.mp-next,.sr-submit,.svc-form-btn){min-height:50px}
body.ap-soft .bp-free .mp-preview-form{border-radius:var(--soft-radius);border-color:var(--soft-border);box-shadow:var(--soft-shadow)}
body.ap-soft .sr-enquiry .mp-preview-form,body.ap-soft .gj-enquiry-inner .mp-preview-form{border-radius:0 25px 25px 0}
body.ap-soft :is(.gj-faq .nx-faq-list,.svc-faq .faq-list){border:0;display:grid;gap:12px}
body.ap-soft .gj-faq details{border:1px solid var(--soft-border);border-radius:16px;background:#fff;padding:6px 20px;box-shadow:0 5px 20px -18px #50336540}
body.ap-soft .gj-faq summary{min-height:52px;color:#594265}
body.ap-soft .gj-faq details>p{margin:8px 0 18px}
body.ap-soft .svc-faq .faq-wrap{border-radius:16px;border-color:var(--soft-border);box-shadow:0 5px 20px -18px #50336540}
body.ap-soft :is(.consent,.ap-success .check){border-radius:20px}
body.ap-soft :is(.btn-consent,.ap-success .wrap>a){border-radius:12px}
body.ap-soft .mobile-sticky{border-radius:15px;box-shadow:0 8px 26px -12px #24112d70}
body.ap-soft .footer2{background:linear-gradient(#fcfaff,#fff);border-top-color:#ebe3f1}
body.ap-soft .footer2 a{overflow-wrap:anywhere}
body.ap-soft :is(input,textarea,select,button,a,summary):focus-visible{outline:2px solid #9463ba;outline-offset:4px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){body.ap-soft :is(.svc-hub-card,.blog-card,.f2card){transition:border-color .25s,box-shadow .25s,transform .25s}body.ap-soft :is(.svc-hub-card,.blog-card,.f2card):hover{border-color:#c5acd9;box-shadow:0 14px 32px -24px #55347250;transform:translateY(-3px)}}
@media(max-width:900px){body.ap-soft .sr-enquiry .mp-preview-form{border-radius:0 0 25px 25px}}
@media(max-width:760px){
 body.ap-soft{--soft-radius:22px;--soft-card:18px}
 body.ap-soft .nav{width:calc(100% - 24px);top:max(10px,env(safe-area-inset-top));border-radius:17px}
 body.ap-soft .nav-inner{height:62px;gap:8px;padding:0 8px}
 body.ap-soft .nav .logo{gap:6px;font-size:21px;flex-shrink:0}
 body.ap-soft .nav .logo-mark{height:30px;width:30px;padding:5px}
 body.ap-soft .nav-burger{margin-left:auto;padding:0 11px}
 body.ap-soft .nav-cta.glass-cta{min-height:44px;flex-shrink:0}
 body.ap-soft .nav-cta .gc-inner{padding:9px 10px;gap:0}
 body.ap-soft .nav-cta .gc-label{font-size:10px;white-space:nowrap}
 body.ap-soft .nav-cta .gc-icon{display:none}
 body.ap-soft .mobile-menu{top:calc(max(10px,env(safe-area-inset-top)) + 72px);left:12px;right:12px;max-height:calc(100dvh - 104px - env(safe-area-inset-bottom));padding:12px;scroll-padding-bottom:20px}
 body.ap-soft.menu-open .mobile-sticky{visibility:hidden;pointer-events:none}
 body.ap-soft .mobile-menu nav>a{min-height:46px;padding:12px 14px;font-size:15px}
 body.ap-soft .sv-mobile-cards{gap:10px;margin-top:10px}
 body.ap-soft .sv-mobile-cards>a{min-height:185px}
 body.ap-soft .mobile-sticky{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:48px;display:flex;align-items:center;justify-content:center}
 body.ap-soft .footer2,body.ap-soft .footer-card{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 body.ap-soft .gj-feature{position:relative;top:auto;margin-bottom:28px}
 body.ap-soft .gj-feature-copy{border-radius:21px 21px 0 0}
 body.ap-soft .gj-feature-visual{border-radius:0 0 21px 21px}
 body.ap-soft .gj-demo-toolbar{border-radius:21px 21px 0 0}
 body.ap-soft .gj-demo-bottom{border-radius:0 0 21px 21px}
 body.ap-soft .gj-enquiry-inner .mp-preview-form,body.ap-soft .sr-enquiry .mp-preview-form{border-radius:0 0 21px 21px;padding:26px 22px}
 body.ap-soft :is(.mp-field input,.mp-field textarea,.mp-field select,.sr-field input,.sr-field textarea,.sr-field select,.svc-form input,.svc-form textarea){font-size:16px;min-height:50px;scroll-margin:105px 0 140px}
 body.ap-soft .mp-field{font-size:12px;gap:8px;margin-bottom:19px}
 body.ap-soft .mp-field-grid{grid-template-columns:minmax(0,1fr);gap:0}
 body.ap-soft .mp-preview-form{padding:25px 22px}
 body.ap-soft .svc-signup-box{padding:25px 20px}
 body.ap-soft .svc-signup-box .mp-preview-form{padding:0}
 body.ap-soft .mp-form-actions{gap:12px;flex-wrap:wrap}
 body.ap-soft .mp-submit,body.ap-soft .mp-next{font-size:13px;min-height:50px}
 body.ap-soft .mp-plan-options{gap:10px}
 body.ap-soft .mp-plan-options span{padding:13px 10px 13px 28px;min-height:80px}
 body.ap-soft .mp-plan-options b{font-size:12px}
 body.ap-soft .mp-plan-options small{font-size:10px;line-height:1.5}
 body.ap-soft .mp-plan-field>legend{font-size:13px;line-height:1.5}
 body.ap-soft .sr-visual-note{left:0;max-width:100%;border-radius:14px}
 body.ap-soft :is(.bp-about-letter,.bp-final,.svc-cta-box,.post-cta){padding:28px 23px}
 body.ap-soft :is(.bp-value-grid,.sr-capabilities,.sr-work-grid){grid-template-columns:minmax(0,1fr)}
 body.ap-soft .gj-faq details{padding-inline:16px}
 body.ap-soft .gj-faq summary{font-size:14px;gap:12px}
 body.ap-soft .consent{max-width:calc(100vw - 24px);left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom))}
 body.ap-soft .post-body{overflow-wrap:break-word}
 body.ap-soft .post-body table{display:block;max-width:100%;overflow-x:auto}
 body.ap-soft .post-body pre{max-width:100%;overflow-x:auto}
 body.ap-soft .post h1,body.ap-soft .sx-h1,body.ap-soft .sr-hero h1{overflow-wrap:break-word}
 body.ap-soft .tk-panel{padding:32px 22px 24px}
 body.ap-soft .tk-tool{padding:15px 13px;min-height:185px}
 body.ap-soft .tk-tool-role{line-height:1.5}
 body.ap-soft .ix-date-picker button{min-height:44px}
 body.ap-soft .ix-session-list button,body.ap-soft .ix-action{min-height:44px}
}
@media(max-width:360px){body.ap-soft .nav .logo{font-size:19px;gap:5px}body.ap-soft .nav-inner{gap:5px}body.ap-soft .mp-plan-options{grid-template-columns:1fr}body.ap-soft .mp-plan-options span{min-height:64px}body.ap-soft .tk-panel{padding-inline:17px}body.ap-soft .tk-tool-name{font-size:16px}body.ap-soft .sv-mobile-cards b{font-size:12px}body.ap-soft .gj-hero-actions{max-width:100%}body.ap-soft .gj-button{font-size:12px;gap:9px;padding-inline:13px}}
@media(prefers-reduced-motion:reduce){body.ap-soft *,body.ap-soft *:before,body.ap-soft *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Keep photographic dropdown cards inside their grid tracks on tablets. */
body.ap-soft .sv-menu-card{width:100%;aspect-ratio:auto}
@media(min-width:761px) and (max-width:1000px){body.ap-soft .sv-menu-card{min-height:310px;padding:17px!important}body.ap-soft .sv-menu-card h3{font-size:17px}body.ap-soft .sv-menu-card p{font-size:11px;line-height:1.6}body.ap-soft .sv-menu-kicker{font-size:8px}}
/* Deep violet footer, matching the closing invitation above it. */
body.ap-soft :is(.footer2,.footer-outer){--ink:#f7efff;--grey:#e0cdeb;--body-c:#e0cdeb;--micro-c:#d6b6ef;--line:#cda9e333;background:linear-gradient(115deg,transparent 8%,#e1beff0c 36%,transparent 61%),radial-gradient(ellipse at 70% 0%,#9f67cd66,transparent 64%),linear-gradient(125deg,#35174e,#542879 55%,#311544);border-top:1px solid #cda9e333;color:#e0cdeb;box-shadow:inset 0 1px 0 #e4c8ff0a}
body.ap-soft .footer2-logo>span,body.ap-soft .footer2-mail{color:#f7efff}
body.ap-soft .footer2-head{color:#dcb9f6}
body.ap-soft :is(.footer2-tag,.footer2-text,.footer2-links>a){color:#e0cdeb}
body.ap-soft :is(.footer2-links>a,.footer2-mail):hover{color:#fff}
body.ap-soft .footer2-mail svg{stroke:#d2a4fa}
body.ap-soft .footer2-social>a{background:#cf9fff10;border-color:#d4afe84d;color:#efdfff}
body.ap-soft .footer2-social>a:hover{background:#cf9fff26;border-color:#e7cafa80;color:#fff}
body.ap-soft .footer2 .f2card{background:linear-gradient(135deg,#dcbeff12,#c89eec06);border-color:#d8b5ed40;box-shadow:inset 0 1px 0 #f1ddff0a,0 8px 25px -20px #1d0d3290}
body.ap-soft .footer2 .f2card:hover{background:linear-gradient(135deg,#e2caff22,#c99aef12);border-color:#e6c5fb70;box-shadow:inset 0 1px 0 #f1ddff18,0 10px 28px -20px #190b2b99}
body.ap-soft .footer2 .f2card b{color:#f4e8ff}
body.ap-soft .footer2 .f2card small{color:#ddc7ed}
body.ap-soft .footer2 .f2icon{background:#c38de524;border-color:#d7abf33b}
body.ap-soft .footer2 .f2icon svg{stroke:#e3bdff}
body.ap-soft .footer2-bottom{border-color:#cda9e333}
body.ap-soft :is(.footer2-bottom p,.footer2-bottom a){color:#d7bee8}
body.ap-soft .footer2-bottom a:hover{color:#fff}
body.ap-soft .footer-outer .footer-card{--ink:#f7efff;--grey:#e0cdeb;--body-c:#e0cdeb;background:transparent;border-color:transparent;color:#e0cdeb}
body.ap-soft :is(.footer-outer .footer-bottom,.footer-outer .footer-bottom p,.footer-outer .footer-bottom a){color:#ddc7ed}
body.ap-soft :is(.footer2,.footer-outer) a:focus-visible{outline-color:#e7c5ff}
