:root{
  --ink:#111113;--graphite:#25272b;--paper:#f5f5f7;--white:#fff;--mist:#ececef;--muted:#6e6e73;
  --blue:#315eff;--start:#3d7bff;--start-soft:#eef4ff;--grow:#e86d4a;--grow-soft:#fff1ec;--build:#6856d9;--build-soft:#f2efff;
  --border:rgba(17,17,19,.10);--container:1220px;--content:980px;
  --r-xs:8px;--r-sm:12px;--r-md:20px;--r-lg:30px;--r-xl:44px;--header-h:48px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);overflow-x:hidden}
html[lang="th"] body{font-family:"Anuphan",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
html[lang="en"] body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","Anuphan",sans-serif}
body{margin:0;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;font-weight:400}
img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}[hidden]{display:none!important}
::selection{background:#dce6ff;color:#101114}:focus-visible{outline:3px solid rgba(49,94,255,.28);outline-offset:3px}
.skip-link{position:fixed;left:14px;top:10px;z-index:9999;background:#111;color:#fff;padding:9px 13px;border-radius:10px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.container{width:min(calc(100% - 48px),var(--container));margin-inline:auto}.section{padding:128px 0}.section-compact{padding:96px 0}
.eyebrow{margin:0 0 14px;color:var(--blue);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:none}
.display{margin:0;font-size:clamp(56px,6.3vw,92px);line-height:.98;letter-spacing:-.055em;font-weight:600;max-width:1060px;text-wrap:balance}
.h1{margin:0;font-size:clamp(52px,5.5vw,80px);line-height:.99;letter-spacing:-.05em;font-weight:600;text-wrap:balance}.h2{margin:0;font-size:clamp(42px,4.5vw,64px);line-height:1.02;letter-spacing:-.045em;font-weight:600;text-wrap:balance}.h3{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.06;letter-spacing:-.035em;font-weight:600}
.lede{font-size:clamp(18px,1.65vw,22px);line-height:1.58;color:var(--muted);max-width:760px;font-weight:400}.muted{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid transparent;font-weight:500;font-size:14px;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:#0071e3;color:#fff}.button-primary:hover{background:#0077ed}.button-dark{background:var(--ink);color:#fff}.button-light{background:#fff;color:var(--ink)}.button-ghost{background:transparent;border-color:rgba(17,17,19,.18)}.button-small{min-height:34px;padding-inline:14px;font-size:12px}.icon{width:17px;height:17px;flex:0 0 auto}.text-link{display:inline-flex;align-items:center;gap:5px;color:#0066cc;font-size:15px;font-weight:500}.text-link .icon{transition:transform .18s ease}.text-link:hover .icon{transform:translateX(3px)}.clean-list{list-style:none;margin:0;padding:0}

/* Header: compact, product-like */
.site-header{position:sticky;top:0;z-index:100;background:rgba(245,245,247,.84);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid transparent;transition:border-color .2s ease,background .2s ease}.site-header.is-scrolled{border-color:rgba(17,17,19,.08);background:rgba(245,245,247,.94)}
.nav-shell{height:var(--header-h);display:flex;align-items:center;gap:24px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:600;white-space:nowrap}.brand img{width:27px;height:27px;border-radius:7px}.brand-word{font-size:14px;letter-spacing:-.02em}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:25px;margin-left:auto}.desktop-nav a{font-size:12px;color:#444448;font-weight:400;position:relative}.desktop-nav a[aria-current="page"],.desktop-nav a:hover{color:#000}.desktop-nav a[aria-current="page"]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:#111}.nav-actions{display:flex;align-items:center;gap:7px;margin-left:6px}.lang-switch{height:30px;min-width:38px;padding:0 10px;border:0;background:transparent;border-radius:999px;font-size:11px;font-weight:600;cursor:pointer;color:#333}.lang-switch:hover{background:rgba(17,17,19,.06)}.icon-button{width:34px;height:34px;border:0;background:transparent;border-radius:50%;display:inline-grid;place-items:center;cursor:pointer}.mobile-menu-button{display:none}.mobile-menu{border-top:1px solid var(--border);background:rgba(245,245,247,.98)}.mobile-menu-inner{display:grid;padding-top:12px;padding-bottom:20px;gap:0}.mobile-menu-inner>a:not(.button){padding:14px 0;font-weight:500;border-bottom:1px solid rgba(17,17,19,.06)}.mobile-menu-inner .button{margin-top:14px}

/* Media */
.media-frame{position:relative;overflow:hidden;border-radius:var(--r-lg);background:#eceef1;isolation:isolate}.media-frame img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.media-contain img{object-fit:contain}.media-frame:hover img{transform:scale(1.008)}.ratio-16-9{aspect-ratio:16/9}.ratio-16-10{aspect-ratio:16/10}.ratio-6-7{aspect-ratio:6/7}.ratio-3-4{aspect-ratio:3/4}.media-label{display:none}
.scroll-shell{position:relative;min-width:0}.scroll-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(300px,1fr);gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;padding:2px 2px 12px;scrollbar-width:none}.scroll-row::-webkit-scrollbar{display:none}.scroll-item{scroll-snap-align:start;min-width:0}.scroll-controls{display:flex;gap:10px;justify-content:flex-end;margin:18px 0 0}.scroll-button{width:38px;height:38px;border-radius:50%;border:0;background:#e8e8ed;display:grid;place-items:center;cursor:pointer}

/* Homepage */
.hero{padding:88px 0 64px;background:var(--paper)}.hero-grid{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.hero-copy{max-width:1060px}.hero-copy .eyebrow{margin-bottom:18px}.hero-copy .lede{margin:24px auto 0;max-width:760px}.hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:28px}.hero-note{margin:16px 0 0;color:var(--muted);font-size:12px}.hero-media{width:min(100%,1120px);margin-top:54px;border-radius:34px;aspect-ratio:16/9;box-shadow:none}.hero-media picture,.hero-media img{width:100%;height:100%}
.section-head{display:block;text-align:center;max-width:900px;margin:0 auto 54px}.section-head>div{max-width:none}.section-head p:last-child{max-width:650px;margin:18px auto 0;color:var(--muted);line-height:1.6}.world-row{grid-auto-columns:minmax(350px,1fr)}.world-card{border-radius:34px;overflow:hidden;display:flex;flex-direction:column;min-height:660px;border:0}.world-card.start{background:var(--start-soft)}.world-card.grow{background:var(--grow-soft)}.world-card.build{background:var(--build-soft)}.world-media{margin:0;border-radius:0;background:transparent;aspect-ratio:6/7}.world-body{padding:30px 30px 34px;margin-top:auto;text-align:center}.world-meta{display:flex;justify-content:center;gap:14px;align-items:center;margin-bottom:16px;font-size:11px;font-weight:600;color:#56565b}.world-meta span+span:before{content:"·";margin-right:14px}.world-body h3{font-size:32px;margin:0;letter-spacing:-.035em;font-weight:600}.world-body p{margin:12px auto 20px;color:var(--muted);line-height:1.6;max-width:310px}.world-price{font-size:14px;font-weight:600;margin-bottom:16px}
.feature-panel{display:grid;grid-template-columns:1.05fr .95fr;gap:68px;align-items:center;padding:72px;border-radius:42px;background:#eaf2ff}.feature-copy .lede{font-size:18px;margin:20px 0 28px}.feature-points{display:grid;gap:12px;margin:0 0 30px;padding:0;list-style:none}.feature-points li{display:flex;gap:10px;align-items:flex-start;color:#505055;line-height:1.55}.feature-points .icon{color:#0071e3;margin-top:3px}.case-row{grid-auto-columns:minmax(560px,62vw)}.case-card{background:transparent;border:0;border-radius:0;padding:0}.case-card .media-frame{border-radius:30px}.case-copy{padding:22px 4px 8px}.case-copy h3{font-size:28px;margin:0;font-weight:600}.case-copy p{margin:9px 0 15px;color:var(--muted);line-height:1.6}.case-tags{display:flex;flex-wrap:wrap;gap:7px}.case-tags span{font-size:11px;font-weight:500;padding:6px 9px;background:#e8e8ed;border-radius:999px}

/* Interior page hero */
.page-hero{padding:92px 0 86px;background:#fff}.page-hero-grid{display:flex;flex-direction:column;text-align:center;align-items:center;gap:48px}.page-hero-grid>div:first-child{max-width:900px}.page-hero .lede{margin:22px auto 0}.page-hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:28px}.page-hero .media-frame{width:min(100%,980px)}

/* Product & pricing */
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.package-grid.four{grid-template-columns:repeat(4,1fr)}.package-card{background:#fff;border:0;border-radius:30px;padding:30px;display:flex;flex-direction:column;min-height:430px}.package-card.featured{background:#eef4ff;box-shadow:none}.package-card.dark{background:#18181a;color:#fff}.package-label{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:0;text-transform:none}.package-card.dark .package-label,.package-card.dark .package-desc,.package-card.dark .package-list{color:#b8b8bd}.package-price{font-size:42px;line-height:1;margin:20px 0 14px;font-weight:600;letter-spacing:-.045em;font-variant-numeric:tabular-nums}.package-desc{color:var(--muted);line-height:1.58;font-size:14px;margin:0 0 26px}.package-list{display:grid;gap:11px;margin:0 0 28px;color:#4f4f54;font-size:13px}.package-list li{display:flex;gap:9px;align-items:flex-start}.package-list .icon{width:15px;height:15px;margin-top:2px;color:#0071e3}.package-care{margin-top:auto;padding-top:18px;border-top:1px solid rgba(17,17,19,.08);font-size:12px;color:var(--muted);font-weight:500}.package-card.dark .package-care{border-color:rgba(255,255,255,.10);color:#b8b8bd}
.theme-row{grid-auto-columns:minmax(360px,1fr)}.theme-card{background:#fff;border-radius:30px;padding:10px}.theme-card .media-frame{border-radius:22px}.theme-card footer{padding:18px 10px 8px}.theme-card h3{margin:0 0 6px;font-size:20px;font-weight:600}.theme-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.demo-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.demo-copy .lede{font-size:17px}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step-card{background:#fff;border:0;border-radius:28px;padding:28px;min-height:220px}.step-no{font-size:12px;color:var(--muted);font-weight:600}.step-card h3{margin:46px 0 10px;font-size:24px;font-weight:600}.step-card p{margin:0;color:var(--muted);line-height:1.58;font-size:13px}.architecture-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:44px}.arch-node{background:#fff;border:0;border-radius:24px;padding:24px}.arch-node strong{display:block;margin-bottom:8px;font-weight:600}.arch-node span{font-size:12px;color:var(--muted);line-height:1.5}.pricing-intro{background:#111113;color:#fff}.finder-shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.finder-card{background:#1d1d1f;border:0;border-radius:34px;padding:34px;min-height:480px}.finder-progress{height:3px;background:rgba(255,255,255,.10);border-radius:999px;overflow:hidden;margin-bottom:44px}.finder-progress span{display:block;height:100%;width:20%;background:#2997ff;transition:width .25s ease}.finder-step{font-size:11px;font-weight:600;letter-spacing:.04em;color:#9b9ba1;margin:0 0 12px}.finder-card h2,.finder-card h3{margin:0;color:#fff;font-size:clamp(30px,3.6vw,48px);line-height:1.08;letter-spacing:-.035em;font-weight:600}.finder-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}.finder-options button{min-height:76px;border:0;background:#2c2c2e;color:#fff;border-radius:18px;padding:16px;text-align:left;cursor:pointer;font-weight:500}.finder-options button:hover{background:#353538}.result-price{font-size:32px;font-weight:600;margin:14px 0}.result-copy{color:#b8b8bd;line-height:1.65}.result-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 26px}.result-tags span{padding:8px 10px;background:rgba(255,255,255,.08);border-radius:999px;font-size:11px;color:#ddd}.compare-wrap{overflow:auto;border:0;border-radius:28px;background:#fff}.compare-table{border-collapse:collapse;width:100%;min-width:860px}.compare-table th,.compare-table td{text-align:left;padding:18px 20px;border-bottom:1px solid var(--border);font-size:13px}.compare-table th{font-size:11px;font-weight:600;color:var(--muted);background:#fafafa}.compare-table tr:last-child td{border-bottom:0}.compare-table td:nth-child(2),.compare-table td:nth-child(3){font-variant-numeric:tabular-nums;font-weight:600}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:start}.contact-card{background:#fff;border:0;border-radius:32px;padding:32px}.field{display:grid;gap:8px;margin-bottom:16px}.field label{font-size:12px;font-weight:600}.field input,.field textarea,.field select{width:100%;border:1px solid rgba(17,17,19,.12);background:#fff;border-radius:14px;padding:14px 15px;color:var(--ink);outline:none}.field textarea{min-height:138px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.08)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-status{min-height:20px;font-size:12px;color:var(--muted);margin:10px 0 0}.contact-methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}.contact-method{display:flex;align-items:center;gap:10px;background:#fff;border:0;border-radius:18px;padding:14px;font-weight:500;font-size:13px}.contact-method img{width:22px;height:22px}.contact-method.is-disabled{opacity:.42;pointer-events:none}
.faq-list{max-width:900px;margin-inline:auto}.faq-list details{border-top:1px solid var(--border)}.faq-list details:last-child{border-bottom:1px solid var(--border)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0;cursor:pointer;font-weight:500;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{transition:transform .2s ease}.faq-list details[open] summary .icon{transform:rotate(180deg)}.faq-list details p{margin:-2px 44px 26px 0;color:var(--muted);line-height:1.7}

/* Footer */
.site-footer{background:#f5f5f7;border-top:1px solid rgba(17,17,19,.08);padding:68px 0 34px}.footer-contact{display:grid;grid-template-columns:.82fr 1.18fr;gap:56px;padding-bottom:52px;border-bottom:1px solid var(--border)}.footer-contact h2{margin:0;font-size:clamp(32px,4vw,48px);letter-spacing:-.04em;line-height:1.05;font-weight:600}.footer-contact p{color:var(--muted);line-height:1.6}.line-quick-box{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.line-quick-box textarea{width:100%;min-height:96px;resize:vertical;border:1px solid rgba(17,17,19,.12);background:#fff;border-radius:16px;padding:14px;outline:none}.line-quick-box textarea:focus{border-color:#0071e3;box-shadow:0 0 0 4px rgba(0,113,227,.07)}.social-row{display:flex;gap:8px;margin-top:16px}.social-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;border:0;transition:transform .18s ease}.social-icon:hover{transform:translateY(-2px)}.social-icon img{width:20px;height:20px}.social-icon.is-disabled{opacity:.4;pointer-events:none}.footer-bottom{display:grid;grid-template-columns:1.2fr 1fr auto;gap:28px;align-items:start;padding-top:28px}.footer-brand p,.footer-meta{font-size:12px;color:var(--muted);line-height:1.6;margin:10px 0 0}.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;font-weight:500}.footer-small{font-size:11px;color:var(--muted);text-align:right}.mobile-contact-dock{display:none}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .58s ease,transform .58s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1050px){.desktop-nav{display:none}.mobile-menu-button{display:inline-grid}.nav-actions{margin-left:auto}.feature-panel,.demo-grid,.finder-shell,.contact-grid,.footer-contact{grid-template-columns:1fr;gap:44px}.package-grid.four,.package-grid{grid-template-columns:repeat(2,1fr)}.step-grid{grid-template-columns:repeat(2,1fr)}.architecture-strip{grid-template-columns:repeat(3,1fr)}.footer-bottom{grid-template-columns:1fr 1fr}.footer-small{text-align:left}}

@media(max-width:760px){
  :root{--header-h:48px}body{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.container{width:min(calc(100% - 28px),var(--container))}.section{padding:88px 0}.section-compact{padding:66px 0}
  .brand-word{display:none}.nav-shell{gap:8px}.nav-actions .button{display:none}.lang-switch{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:32px}
  .display{font-size:clamp(45px,12vw,60px);line-height:1}.h1{font-size:clamp(43px,11vw,58px)}.h2{font-size:clamp(35px,9.5vw,48px)}.lede{font-size:16px;line-height:1.6}
  .hero{padding:52px 0 56px}.hero-copy .lede{margin-top:20px}.hero-actions,.page-hero-actions{display:grid;grid-template-columns:1fr;max-width:340px;margin-left:auto;margin-right:auto}.hero-actions .button,.page-hero-actions .button{width:100%}.hero-note{line-height:1.55}.hero-media{margin-top:40px;border-radius:26px;aspect-ratio:3/4}.hero-media picture{display:block;height:100%}.hero-media img{object-fit:cover}
  .section-head{text-align:left;margin-bottom:32px}.section-head p:last-child{margin:14px 0 0}.scroll-row{grid-auto-columns:86%;gap:12px;padding:0 0 12px;scroll-padding-inline:0;max-width:100%}.world-row{grid-auto-columns:86%}.world-card{min-height:auto;border-radius:28px}.world-body{text-align:left;padding:24px}.world-meta{justify-content:flex-start}.world-body h3{font-size:29px}.world-body p{margin-left:0;margin-right:0}.world-media{aspect-ratio:6/7}.scroll-controls{display:none}.case-row{grid-auto-columns:90%}.case-card .media-frame{border-radius:24px}.case-copy h3{font-size:24px}
  .feature-panel{padding:0;border-radius:0;gap:28px;background:transparent}.feature-panel>.media-frame{order:-1;border-radius:26px}.feature-copy{padding:0}.page-hero{padding:58px 0 64px}.page-hero-grid{gap:34px;text-align:left;align-items:stretch}.page-hero-grid>div:first-child{max-width:none}.page-hero .lede{margin-left:0}.page-hero-actions{margin-left:0;margin-right:0}.page-hero .media-frame{order:0;border-radius:26px}
  .package-grid,.package-grid.four{grid-template-columns:1fr}.package-card{min-height:auto;padding:26px;border-radius:26px}.package-price{font-size:40px}.theme-row{grid-auto-columns:88%}.theme-card{border-radius:26px}.demo-grid{gap:34px}.step-grid{grid-template-columns:1fr}.step-card{min-height:180px}.step-card h3{margin-top:34px}.architecture-strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 10px;scrollbar-width:none;gap:12px}.architecture-strip::-webkit-scrollbar{display:none}.arch-node{min-width:78%;scroll-snap-align:start}.finder-card{padding:24px;border-radius:28px;min-height:450px}.finder-options{grid-template-columns:1fr}.pricing-intro{padding-bottom:70px}.form-row{grid-template-columns:1fr}.contact-card{padding:24px;border-radius:26px}.contact-methods{grid-template-columns:1fr}.line-quick-box{grid-template-columns:1fr}.line-quick-box .button{width:100%}
  .site-footer{padding:52px 0 30px}.footer-contact{gap:26px}.footer-bottom{grid-template-columns:1fr;gap:20px}.footer-links{display:grid;grid-template-columns:1fr 1fr}.footer-small{text-align:left}.mobile-contact-dock{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));height:58px;padding:6px;z-index:120;display:grid;grid-template-columns:50px 50px 50px 1fr;gap:6px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(17,17,19,.08);border-radius:20px;box-shadow:0 12px 40px rgba(0,0,0,.14)}.mobile-contact-dock a{min-width:0;border-radius:15px;display:grid;place-items:center}.mobile-contact-dock .dock-icon{background:#f2f2f4}.mobile-contact-dock img{width:20px;height:20px}.mobile-contact-dock .dock-line{background:#111;color:#fff;font-size:12px;font-weight:500;padding-inline:10px;text-align:center}.mobile-contact-dock .is-disabled{opacity:.35;pointer-events:none}.media-frame:hover img{transform:none}
}
@media(max-width:390px){.scroll-row,.world-row,.case-row,.theme-row{grid-auto-columns:90%}.mobile-contact-dock{grid-template-columns:46px 46px 46px 1fr}.footer-links{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
/* Prevent grid min-content from widening the document on narrow screens */
.demo-grid>*,.feature-panel>*,.finder-shell>*,.contact-grid>*,.footer-contact>*{min-width:0}
@media(max-width:760px){.architecture-strip{width:100%;max-width:100%}.arch-node{min-width:78%;max-width:78%}}

/* PATCH-004 — full-bleed presentation, mobile-first controls, glass contact composer */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Structural surfaces stay square. Radius is reserved for controls and floating UI. */
.media-frame,.hero-media,.world-card,.feature-panel,.case-card .media-frame,.page-hero .media-frame,
.package-card,.theme-card,.theme-card .media-frame,.step-card,.arch-node,.compare-wrap,.contact-card{border-radius:0}

.button,.lang-switch,.icon-button,.scroll-button,.finder-options button,.field input,.field textarea,.field select,.social-icon,.composer-social-icon,.composer-send,.line-send{transition:transform .34s cubic-bezier(.16,1,.3,1),background .34s cubic-bezier(.16,1,.3,1),border-color .34s cubic-bezier(.16,1,.3,1),box-shadow .34s cubic-bezier(.16,1,.3,1),opacity .24s ease,color .24s ease}
.button:hover,.scroll-button:hover,.social-icon:hover,.composer-social-icon:hover{transform:translateY(-2px)}
.button:active,.scroll-button:active,.social-icon:active,.composer-social-icon:active,.composer-send:active,.line-send:active{transform:scale(.96)}
.media-frame img{transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease}
.media-frame:hover img{transform:scale(1.012)}
.world-card{transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s ease}
.world-card:hover{transform:translateY(-5px)}
.text-link .icon{transition:transform .32s cubic-bezier(.16,1,.3,1)}

/* Native horizontal presentation controls remain visible on touch devices. */
.scroll-row{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;scroll-behavior:smooth}
.scroll-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}
.scroll-actions{display:flex;gap:8px;margin-left:auto}
.scroll-indicator{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.scroll-button{background:rgba(232,232,237,.92);backdrop-filter:blur(16px) saturate(160%)}
.scroll-button:disabled{opacity:.28;cursor:default;transform:none}

/* Evidence-based work cards */
.work-proof-home{background:#fff}
.case-row{grid-auto-columns:minmax(620px,68vw);gap:24px}
.case-copy{padding:24px 0 8px}
.case-kicker{font-size:11px;letter-spacing:.04em;color:var(--muted);margin:0 0 10px;font-weight:600}
.case-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:22px 0 20px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.case-proof>div{padding:16px 16px 16px 0;min-width:0}
.case-proof>div+div{padding-left:16px;border-left:1px solid var(--border)}
.case-proof dt{font-size:10px;color:var(--muted);margin-bottom:6px}
.case-proof dd{margin:0;font-size:12px;line-height:1.45;font-weight:500;color:#343438}

/* Work page */
.work-hero{background:#f5f5f7}
.work-case{background:#fff}
.work-case-alt{background:#f5f5f7}
.work-case-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:72px;align-items:center}
.work-case-copy .lede{font-size:18px;margin:18px 0 0}
.proof-grid{display:grid;gap:0;margin-top:34px;border-top:1px solid var(--border)}
.proof-grid>div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:18px 0;border-bottom:1px solid var(--border)}
.proof-grid span{font-size:11px;color:var(--muted)}
.proof-grid strong{font-size:13px;line-height:1.5;font-weight:500}

/* Product Finder: full-width dark stage, controls only are rounded. */
.finder-shell{grid-template-columns:.72fr 1.28fr;gap:88px}
.finder-card{background:transparent;border-radius:0;padding:0;min-height:520px}
.finder-progress{margin-bottom:24px;background:rgba(255,255,255,.12)}
.finder-progress span{transition:width .48s cubic-bezier(.16,1,.3,1)}
.finder-nav{display:flex;align-items:center;justify-content:space-between;min-height:34px;margin-bottom:24px}
.finder-back{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#b8b8bd;padding:5px 0;cursor:pointer;font-size:12px}
.finder-back:hover{color:#fff}.finder-back[hidden]{visibility:hidden;display:inline-flex!important}
.finder-count{font-size:11px;color:#7f7f85;font-variant-numeric:tabular-nums}
.finder-step{display:none}
.finder-card h2,.finder-card h3{max-width:760px}
.finder-options{grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.finder-options button{min-height:94px;background:#242426;border:1px solid rgba(255,255,255,.06);border-radius:15px;padding:17px 18px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px}
.finder-options button:hover{background:#303033;border-color:rgba(255,255,255,.13);transform:translateY(-2px)}
.finder-options button:active{transform:scale(.985)}
.finder-option-title{font-size:14px;font-weight:500;color:#fff;line-height:1.35}
.finder-option-desc{font-size:11px;color:#96969c;line-height:1.45;font-weight:400}
.result-care{font-size:12px;color:#8f8f95;margin:0 0 24px}

/* Footer composer */
.footer-contact{align-items:center}
.glass-message-bar{display:flex!important;align-items:center;gap:8px;padding:7px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.84);box-shadow:inset 0 0 0 1px rgba(17,17,19,.035),0 12px 30px rgba(0,0,0,.06);backdrop-filter:blur(24px) saturate(180%);border-radius:22px}
.glass-message-bar input{min-width:0;flex:1;height:42px;border:0;outline:0;background:transparent;padding:0 12px;color:var(--ink);font-size:14px}
.glass-message-bar input::placeholder{color:#929298}
.line-send{width:38px;height:38px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(17,17,19,.08);color:#8c8c91;cursor:pointer;flex:0 0 auto}
.glass-message-bar.has-message .line-send{background:#111113;color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.social-icon{background:rgba(255,255,255,.72);backdrop-filter:blur(14px) saturate(180%);box-shadow:inset 0 0 0 1px rgba(17,17,19,.04)}
.social-icon:hover{background:#fff;box-shadow:0 8px 24px rgba(0,0,0,.08)}

/* Tesla-like persistent message bar with iOS-style glass material. */
body{padding-bottom:88px}
.contact-composer{position:fixed;z-index:140;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 28px),760px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px;padding:7px;background:rgba(245,245,247,.67);border:1px solid rgba(255,255,255,.78);border-radius:23px;box-shadow:0 16px 50px rgba(0,0,0,.13),inset 0 0 0 1px rgba(17,17,19,.035);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%)}
.composer-social{display:flex;gap:3px;align-items:center}
.composer-social-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px rgba(17,17,19,.035)}
.composer-social-icon:hover{background:#fff;box-shadow:0 7px 20px rgba(0,0,0,.08)}
.composer-social-icon img{width:19px;height:19px}
.composer-form{display:flex;align-items:center;min-width:0;height:42px;padding:3px 4px 3px 12px;border-radius:18px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(17,17,19,.045)}
.composer-form input{flex:1;min-width:0;height:100%;border:0;background:transparent;outline:0;color:#111113;font-size:13px;padding:0 8px 0 0}
.composer-form input::placeholder{color:#8e8e93}
.composer-send{width:34px;height:34px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(17,17,19,.07);color:#9b9ba0;cursor:pointer;flex:0 0 auto}
.composer-form.has-message .composer-send{background:#111113;color:#fff;box-shadow:0 5px 14px rgba(0,0,0,.16)}
.composer-error{animation:composer-shake .35s ease}
@keyframes composer-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}

/* Remove legacy mobile dock if an older page slips through. */
.mobile-contact-dock{display:none!important}

@media(max-width:1050px){
  .work-case-grid{grid-template-columns:1fr;gap:38px}.work-case-copy{max-width:800px}
}

@media(max-width:760px){
  body{padding-bottom:78px}
  .container{width:min(calc(100% - 24px),var(--container))}
  .section{padding:76px 0}.section-compact{padding:58px 0}
  .hero{padding:44px 0 48px}
  .hero-media{width:calc(100% + 24px);margin-left:-12px;margin-top:34px;aspect-ratio:3/4}
  .page-hero{padding:52px 0 58px}
  .page-hero .media-frame{width:calc(100% + 24px);margin-left:-12px}

  /* Full-bleed/mobile-first presentation instead of rounded cards. */
  .world-card,.package-card,.theme-card,.step-card,.contact-card,.finder-card,.arch-node{border-radius:0}
  .feature-panel{padding:0;background:transparent;border-radius:0}
  .feature-panel>.media-frame{width:calc(100% + 24px);margin-left:-12px;border-radius:0}
  .media-frame,.case-card .media-frame,.theme-card .media-frame{border-radius:0}
  .package-card{padding:24px 18px}
  .step-card{padding:24px 18px;border-top:1px solid var(--border);background:transparent}

  /* Touch galleries extend to viewport edge and always show controls. */
  .scroll-shell.container{width:100%;max-width:none;padding:0}
  .scroll-shell .scroll-row{padding:0 12px 12px;scroll-padding-inline:12px;gap:12px;width:100%}
  .world-row,.case-row,.theme-row{grid-auto-columns:min(88vw,440px)}
  .case-row{grid-auto-columns:min(92vw,560px)}
  .scroll-controls{display:flex!important;padding:0 12px;margin-top:14px}
  .scroll-actions{display:flex}
  .scroll-button{width:42px;height:42px;background:rgba(232,232,237,.88)}
  .world-body{padding:24px 18px 28px}
  .case-copy{padding:18px 4px 8px}
  .case-proof{grid-template-columns:1fr;margin-top:18px}
  .case-proof>div{padding:12px 0}
  .case-proof>div+div{padding-left:0;border-left:0;border-top:1px solid var(--border)}

  .finder-shell{grid-template-columns:1fr;gap:32px}
  .finder-card{min-height:0}
  .finder-options{grid-template-columns:1fr;gap:8px}
  .finder-options button{min-height:78px;padding:14px 15px;border-radius:13px}
  .finder-nav{margin-bottom:18px}.finder-progress{margin-bottom:18px}

  .work-case-grid{gap:26px}.work-case .media-frame{width:calc(100% + 24px);margin-left:-12px}
  .proof-grid>div{grid-template-columns:78px 1fr;gap:12px}

  .contact-composer{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 14px);padding:5px;gap:4px;border-radius:20px}
  .composer-social{gap:2px}
  .composer-social-icon{width:35px;height:35px}
  .composer-social-icon img{width:18px;height:18px}
  .composer-form{height:39px;border-radius:16px;padding-left:9px}
  .composer-form input{font-size:12px}
  .composer-send{width:31px;height:31px}
  .composer-send .icon{width:15px;height:15px}

  .glass-message-bar{border-radius:19px;padding:5px}
  .glass-message-bar input{height:40px;font-size:13px}
}

@media(max-width:390px){
  .container{width:min(calc(100% - 20px),var(--container))}
  .display{font-size:clamp(41px,12vw,52px)}.h1{font-size:clamp(39px,11vw,50px)}.h2{font-size:clamp(32px,9.4vw,43px)}
  .hero-media,.page-hero .media-frame,.feature-panel>.media-frame,.work-case .media-frame{width:calc(100% + 20px);margin-left:-10px}
  .world-row,.theme-row{grid-auto-columns:91vw}.case-row{grid-auto-columns:94vw}
  .scroll-shell .scroll-row{padding-left:10px;padding-right:10px;scroll-padding-inline:10px}.scroll-controls{padding:0 10px}
  .composer-social-icon{width:32px;height:32px}.composer-social-icon img{width:17px;height:17px}
  .composer-form{height:36px;padding-left:7px}.composer-form input{font-size:11.5px;padding-right:4px}.composer-send{width:29px;height:29px}
}

@media(max-width:340px){
  .container{width:calc(100% - 16px)}
  .contact-composer{width:calc(100% - 8px);padding:4px}
  .composer-social-icon{width:30px;height:30px}.composer-social-icon img{width:16px;height:16px}
  .composer-form{height:34px}.composer-send{width:27px;height:27px}.composer-form input{font-size:11px}
  .world-row,.theme-row{grid-auto-columns:92vw}.case-row{grid-auto-columns:95vw}
}

@media(prefers-reduced-motion:reduce){.contact-composer,.world-card,.button,.scroll-button,.social-icon,.composer-social-icon,.composer-send,.line-send{transition:none!important}}
.scroll-controls>.scroll-button:first-of-type{margin-left:auto}


/* PATCH-004Plus — product detail routes and clickable product surfaces */
.package-card{position:relative;color:inherit;transition:transform .34s cubic-bezier(.16,1,.3,1),background .34s ease,box-shadow .34s ease}
a.package-card{cursor:pointer}
@media(hover:hover){a.package-card:hover{transform:translateY(-5px);box-shadow:0 18px 46px rgba(0,0,0,.07)}a.package-card.dark:hover{box-shadow:0 20px 48px rgba(0,0,0,.18)}}
.package-detail-cue{display:flex;align-items:center;gap:6px;margin-top:16px;color:#0066cc;font-size:12px;font-weight:600}.package-detail-cue .icon{width:14px;height:14px;transition:transform .3s cubic-bezier(.16,1,.3,1)}a.package-card:hover .package-detail-cue .icon{transform:translateX(4px)}
.pricing-product-link{display:inline-flex;align-items:center;gap:6px;font-weight:600}.pricing-product-link .icon{width:13px;height:13px;color:#0066cc;transition:transform .25s ease}.pricing-product-link:hover .icon{transform:translateX(3px)}
.product-detail-page{background:#fff}.product-detail-hero{padding:96px 0 0;background:linear-gradient(180deg,var(--product-soft) 0%,#fff 100%);overflow:hidden}.product-detail-hero-inner{text-align:center;max-width:930px}.product-detail-hero .eyebrow{color:var(--product-accent)}.product-detail-hero .lede{margin:22px auto 0}.product-detail-price{display:flex;align-items:baseline;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}.product-detail-price span,.product-detail-price small{font-size:12px;color:var(--muted)}.product-detail-price strong{font-size:clamp(44px,5.4vw,72px);line-height:1;font-weight:600;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.product-detail-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.product-detail-visual{width:min(calc(100% - 48px),1380px);margin:64px auto 0}.product-detail-visual .media-frame{border-radius:0}.product-asset-note{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 0}.product-detail-section{padding:112px 0;background:#fff}.product-detail-muted{background:#f5f5f7}.product-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.product-detail-grid .h2{font-size:clamp(38px,4vw,58px)}.product-detail-note{max-width:440px;color:var(--muted);line-height:1.6}.product-check-list,.product-plain-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}.product-check-list li,.product-plain-list li{display:flex;gap:12px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--border);font-size:16px;line-height:1.5}.product-check-list .icon{width:18px;height:18px;margin-top:3px;color:var(--product-accent)}.product-fit-list li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--product-accent);margin:8px 5px 0 0;flex:0 0 auto}.product-detail-dark{background:#111113;color:#fff}.product-detail-dark .eyebrow{color:#8f9cff}.product-detail-dark .h2{color:#fff}.product-process-head{max-width:800px}.product-process{list-style:none;margin:56px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.14)}.product-process li{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);align-items:center}.product-process li span{font-size:11px;color:#8e8e93;font-variant-numeric:tabular-nums}.product-process li strong{font-size:clamp(18px,2vw,25px);font-weight:500}.product-scope-note{max-width:800px;margin:34px 0 0;color:#a7a7ad;line-height:1.65}.product-detail-cta{padding:112px 0 132px;text-align:center;background:#fff}.product-detail-cta .h2{max-width:920px;margin-inline:auto}.product-detail-cta .product-detail-actions{margin-top:32px}
@media(max-width:760px){
  .package-card{transition:background .2s ease}.package-detail-cue{margin-top:14px}
  .product-detail-hero{padding-top:58px}.product-detail-hero-inner{width:calc(100% - 24px)}.product-detail-price{gap:8px 10px}.product-detail-price small{width:100%}.product-detail-visual{width:100%;margin-top:40px}.product-asset-note{padding:0 12px}
  .product-detail-section{padding:72px 0}.product-detail-grid{grid-template-columns:1fr;gap:34px}.product-detail-grid .h2{font-size:clamp(34px,10vw,44px)}.product-check-list li,.product-plain-list li{font-size:14px;padding:15px 0}.product-process{margin-top:36px}.product-process li{grid-template-columns:50px 1fr;padding:18px 0;gap:10px}.product-detail-cta{padding:78px 0 94px}.product-detail-actions{gap:9px}.product-detail-actions .button{width:auto}
}
@media(max-width:340px){.product-detail-hero-inner{width:calc(100% - 16px)}.product-detail-price strong{font-size:40px}.product-detail-actions{flex-direction:column}.product-detail-actions .button{width:100%}.product-detail-cta .text-link{margin-top:8px}}


/* PATCH-005 — premium price presentation, refined contact glass, finder, product detail, editorial content */
:root{--ease-premium:cubic-bezier(.16,1,.3,1);--hairline:rgba(17,17,19,.12)}
body{padding-bottom:74px}
@media(min-width:761px){body{padding-bottom:82px}}

/* Header scale remains compact; brand mark always returns home */
.brand{cursor:pointer}.brand img{border-radius:0}.desktop-nav{gap:21px}.desktop-nav a{transition:color .28s ease,opacity .28s ease}.desktop-nav:hover a:not(:hover){opacity:.58}

/* Social + LINE composer: glass is an interaction surface, not a structural card */
.social-row{gap:10px;margin-top:20px}.social-icon,.composer-social-icon{position:relative;overflow:hidden;isolation:isolate;border:1px solid rgba(17,17,19,.055);background:rgba(255,255,255,.58);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%);box-shadow:inset 0 1px 0 rgba(255,255,255,.75);transition:transform .38s var(--ease-premium),background .38s var(--ease-premium),box-shadow .38s var(--ease-premium),border-color .38s var(--ease-premium),opacity .2s ease}
.social-icon::before,.composer-social-icon::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 10%,rgba(255,255,255,.86),transparent 54%);opacity:.45;pointer-events:none}
.social-icon:hover,.composer-social-icon:hover{transform:translateY(-2px) scale(1.035);background:rgba(255,255,255,.9);border-color:rgba(17,17,19,.08);box-shadow:0 12px 30px rgba(0,0,0,.10),inset 0 1px 0 #fff}.social-icon:active,.composer-social-icon:active{transform:scale(.955)}
.social-icon img,.composer-social-icon img{position:relative;z-index:1;transition:transform .38s var(--ease-premium)}.social-icon:hover img,.composer-social-icon:hover img{transform:scale(1.05)}

.contact-composer{width:min(calc(100% - 28px),820px);grid-template-columns:auto minmax(0,1fr);gap:8px;padding:7px;border:1px solid rgba(255,255,255,.72);border-radius:24px;background:color-mix(in srgb,#f5f5f7 68%,transparent);box-shadow:0 18px 60px rgba(0,0,0,.14),inset 0 0 0 1px rgba(17,17,19,.035);backdrop-filter:blur(32px) saturate(195%);-webkit-backdrop-filter:blur(32px) saturate(195%)}
.composer-social{gap:4px}.composer-social-icon{width:40px;height:40px}.composer-form{height:44px;border-radius:18px;padding:3px 4px 3px 14px;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(17,17,19,.055);transition:background .35s var(--ease-premium),box-shadow .35s var(--ease-premium)}.composer-form:focus-within{background:rgba(255,255,255,.92);box-shadow:inset 0 0 0 1px rgba(17,17,19,.09),0 7px 24px rgba(0,0,0,.055)}.composer-form input{font-size:13px}.composer-send,.line-send{background:rgba(17,17,19,.075);color:#8e8e93;transition:transform .34s var(--ease-premium),background .34s var(--ease-premium),color .34s var(--ease-premium),box-shadow .34s var(--ease-premium)}.composer-form.has-message .composer-send,.glass-message-bar.has-message .line-send{background:#111113;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.18)}.composer-send:hover,.line-send:hover{transform:scale(1.055)}
.glass-message-bar{align-self:end;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px;min-height:58px;padding:7px 8px 7px 18px;border:1px solid rgba(255,255,255,.78);border-radius:22px;background:rgba(255,255,255,.54);box-shadow:0 16px 48px rgba(0,0,0,.09),inset 0 0 0 1px rgba(17,17,19,.04);backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);transition:background .35s var(--ease-premium),box-shadow .35s var(--ease-premium)}.glass-message-bar:focus-within{background:rgba(255,255,255,.82);box-shadow:0 20px 58px rgba(0,0,0,.11),inset 0 0 0 1px rgba(17,17,19,.07)}.glass-message-bar input{width:100%;min-width:0;border:0;background:transparent;outline:0;color:var(--ink);font-size:14px;padding:0}.glass-message-bar input::placeholder{color:#85858a}.line-send{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;cursor:pointer}

/* Finder: flat, smooth, high-information choices */
.pricing-intro{padding:126px 0;background:#101012;color:#fff}.finder-shell{grid-template-columns:.74fr 1.26fr;gap:96px}.finder-intro{position:sticky;top:96px}.finder-intro .eyebrow{color:#8ab4ff}.finder-intro .lede{color:#b8b8bd}.finder-privacy{font-size:12px;line-height:1.6;color:#7f7f85;max-width:560px;margin-top:22px}.finder-card{min-height:600px}.finder-progress{height:2px;margin-bottom:28px}.finder-question-hint{max-width:720px;margin:14px 0 0;color:#8e8e93;font-size:13px;line-height:1.6}.finder-options{display:block;margin-top:30px;border-top:1px solid rgba(255,255,255,.12)}.finder-options button{width:100%;min-height:82px;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;background:transparent;padding:16px 2px;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;cursor:pointer;transition:background .36s var(--ease-premium),padding .36s var(--ease-premium),color .25s ease}.finder-options button:hover{background:rgba(255,255,255,.045);padding-left:12px;padding-right:10px;transform:none}.finder-options button:focus-visible{outline:2px solid #79b8ff;outline-offset:-2px}.finder-option-copy{display:flex;flex-direction:column;gap:4px}.finder-option-title{font-size:15px;font-weight:500}.finder-option-desc{font-size:12px;color:#8f8f95}.finder-option-arrow{color:#737378;transform:translateX(-5px);opacity:.35;transition:transform .36s var(--ease-premium),opacity .36s var(--ease-premium),color .36s ease}.finder-options button:hover .finder-option-arrow{transform:translateX(0);opacity:1;color:#fff}.finder-nav{margin-bottom:22px}.finder-back{transition:color .25s ease,transform .25s var(--ease-premium)}.finder-back:hover{transform:translateX(-2px)}
.result-reasons{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.result-reasons>p{margin:0 0 11px;color:#8e8e93;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.result-reasons ul{list-style:none;margin:0;padding:0}.result-reasons li{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#d2d2d7;font-size:13px;line-height:1.5}.result-tags{margin-bottom:12px}.result-care{color:#9e9ea4;font-size:12px;margin:12px 0 26px}.result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.button-outline-light{border-color:rgba(255,255,255,.24);color:#fff;background:transparent}.button-outline-light:hover{background:rgba(255,255,255,.08)}.button-text-light{background:transparent;color:#a8a8ad;padding-inline:10px}.button-text-light:hover{color:#fff}

/* Pricing: editorial rows, never a table */
.price-family{padding:112px 0}.price-family-start{background:#edf4ff}.price-family-grow{background:#fff0eb}.price-family-build{background:#111113;color:#fff}.price-family-head{display:grid;grid-template-columns:1fr .82fr;gap:70px;align-items:end;padding-bottom:48px}.price-family-head h2{font-size:clamp(42px,5.2vw,72px);line-height:1;letter-spacing:-.05em;margin:0;font-weight:600}.price-family-head>p{margin:0;color:#6e6e73;font-size:16px;line-height:1.65}.price-family-build .price-family-head>p{color:#a1a1a6}.price-family-build .eyebrow{color:#9d90ff}.price-list{border-top:1px solid rgba(17,17,19,.16)}.price-family-build .price-list{border-color:rgba(255,255,255,.18)}.price-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:30px;align-items:center;min-height:124px;padding:26px 4px;border-bottom:1px solid rgba(17,17,19,.16);transition:padding .42s var(--ease-premium),background .42s var(--ease-premium)}.price-family-build .price-row{border-color:rgba(255,255,255,.18)}.price-row:hover{padding-left:18px;padding-right:14px;background:rgba(255,255,255,.36)}.price-family-build .price-row:hover{background:rgba(255,255,255,.045)}.price-name{display:block;font-size:clamp(23px,2.6vw,34px);font-weight:600;letter-spacing:-.035em}.price-row p{margin:7px 0 0;color:#6e6e73;font-size:13px;line-height:1.5}.price-family-build .price-row p{color:#9f9fa5}.price-money{text-align:right;font-variant-numeric:tabular-nums}.price-money strong{display:block;font-size:clamp(26px,3vw,40px);font-weight:600;letter-spacing:-.04em}.price-money span{display:block;margin-top:5px;color:#6e6e73;font-size:11px}.price-family-build .price-money span{color:#8f8f95}.price-row>.icon{width:20px;height:20px;opacity:.32;transition:transform .38s var(--ease-premium),opacity .38s var(--ease-premium)}.price-row:hover>.icon{transform:translateX(4px);opacity:1}.price-badge{display:inline-block;margin-bottom:7px;color:#0066cc;font-size:11px;font-weight:600}.care-explain{padding:110px 0;background:#f5f5f7}

/* Product detail offer rail: price and next action belong together */
.product-detail-hero{background:linear-gradient(180deg,var(--product-soft) 0%,#fff 82%)}.product-detail-hero-inner{max-width:1040px}.product-offer-rail{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:42px;margin:34px auto 0;padding:24px 0;border-top:1px solid rgba(17,17,19,.14);border-bottom:1px solid rgba(17,17,19,.14)}.product-offer-rail .product-detail-price{margin:0;justify-content:flex-start;min-width:270px}.product-offer-rail .product-detail-price strong{font-size:clamp(40px,4.2vw,62px)}.product-offer-rail .product-detail-actions{margin:0;justify-content:flex-end}.product-detail-visual{margin-top:58px}.product-detail-section{padding:104px 0}.product-check-list li,.product-plain-list li{transition:padding .34s var(--ease-premium),background .34s var(--ease-premium)}.product-check-list li:hover,.product-plain-list li:hover{padding-left:8px;background:rgba(17,17,19,.018)}

/* Editorial content */
.story-section,.online-section,.home-service-proof,.seo-service-section{padding:112px 0;background:#fff}.online-section,.seo-service-section{background:#f5f5f7}.story-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start}.story-copy{font-size:18px;line-height:1.78;color:#525257}.story-copy p{margin:0 0 24px}.story-copy strong{color:#111113;font-weight:600}.principles-section{padding:0 0 112px;background:#fff}.principles-list{border-top:1px solid var(--hairline)}.principles-list article{display:grid;grid-template-columns:70px .7fr 1.3fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--hairline);align-items:start}.principles-list article>span{color:#8e8e93;font-size:11px}.principles-list h3{margin:0;font-size:24px;font-weight:600;letter-spacing:-.025em}.principles-list p{margin:0;color:#65656a;line-height:1.65;font-size:14px}.home-journal{padding:112px 0;background:#fff}.journal-links{border-top:1px solid var(--hairline)}.journal-links a{display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:20px;min-height:96px;border-bottom:1px solid var(--hairline);transition:padding .36s var(--ease-premium),background .36s var(--ease-premium)}.journal-links a:hover{padding-left:12px;background:#fafafa}.journal-links span{font-size:11px;color:#8e8e93}.journal-links strong{font-size:clamp(18px,2.3vw,28px);font-weight:500;letter-spacing:-.025em}.journal-links .icon{opacity:.32;transition:transform .34s var(--ease-premium),opacity .34s ease}.journal-links a:hover .icon{transform:translateX(4px);opacity:1}

/* Blog index + articles */
.blog-index-section{padding:0 0 120px;background:#fff}.blog-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--hairline)}.blog-card{border-bottom:1px solid var(--hairline);padding:40px 0}.blog-card-link{display:block}.blog-thumb{aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:#eceef1;overflow:hidden}.blog-thumb span{font-size:12px;font-weight:600;letter-spacing:.08em}.blog-thumb small{font-size:10px;color:#7d7d82}.blog-card-copy{padding-top:24px}.blog-meta{font-size:11px;color:#8e8e93;margin:0 0 10px}.blog-card h2{font-size:clamp(24px,3vw,36px);line-height:1.13;letter-spacing:-.035em;margin:0;font-weight:600}.blog-card-copy>p:not(.blog-meta){color:#6e6e73;line-height:1.6;font-size:14px}.blog-card .text-link{margin-top:8px}.article-page{background:#fff}.article-hero{padding:112px 0 56px}.article-head{max-width:980px}.article-head h1{font-size:clamp(48px,6vw,86px);line-height:1;letter-spacing:-.055em;margin:0;font-weight:600}.article-head .lede{margin-top:24px}.article-cover{width:min(calc(100% - 48px),1400px);margin:0 auto 80px}.article-cover-placeholder{aspect-ratio:16/9;background:#eceef1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.article-cover-placeholder span{font-size:12px;font-weight:600;letter-spacing:.06em}.article-cover-placeholder small{color:#77777c;font-size:10px}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 220px;gap:100px;justify-content:center;padding-bottom:120px}.article-content{font-size:17px;line-height:1.82;color:#3f3f44}.article-content>p{margin:0 0 28px}.article-content h2{font-size:clamp(28px,3.2vw,40px);line-height:1.14;letter-spacing:-.035em;color:#111113;margin:58px 0 18px}.article-side{position:sticky;top:94px;align-self:start;border-top:1px solid var(--hairline)}.article-side>a{display:block;padding:13px 0;border-bottom:1px solid var(--hairline);font-size:12px;color:#55555a}.article-side>a:hover{color:#0066cc}.article-cta{margin-top:70px;padding-top:40px;border-top:1px solid var(--hairline)}.article-cta h2{margin-top:0}.article-cta p{color:#6e6e73}

/* LCP/reveal: never hide above-the-fold content until JS executes */
.hero .reveal,.page-hero .reveal,.product-detail-hero .reveal,.pricing-intro .reveal{opacity:1;transform:none}

@media(max-width:1050px){.finder-intro{position:static}.price-family-head,.story-grid{grid-template-columns:1fr;gap:30px}.article-layout{grid-template-columns:minmax(0,760px);gap:50px}.article-side{position:static;display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--hairline)}.article-side .eyebrow{grid-column:1/-1}.blog-grid{gap:0 28px}.product-offer-rail{grid-template-columns:1fr;gap:18px}.product-offer-rail .product-detail-actions{justify-content:center}.product-offer-rail .product-detail-price{justify-content:center}}

@media(max-width:760px){
  body{padding-bottom:66px}.pricing-intro{padding:76px 0 64px}.finder-shell{gap:46px}.finder-card{min-height:0}.finder-options button{min-height:76px;padding:14px 0}.finder-options button:hover{padding-left:7px;padding-right:5px}.finder-option-title{font-size:14px}.finder-option-desc{font-size:11px}.finder-question-hint{font-size:12px;margin-top:11px}.result-actions{align-items:stretch}.result-actions .button{width:100%}
  .price-family{padding:78px 0}.price-family-head{padding-bottom:32px}.price-family-head h2{font-size:clamp(38px,11vw,52px)}.price-family-head>p{font-size:14px}.price-row{grid-template-columns:1fr 18px;gap:12px;min-height:0;padding:24px 0}.price-row:hover{padding-left:5px;padding-right:0}.price-money{grid-column:1/2;text-align:left;display:flex;align-items:baseline;gap:12px;margin-top:2px}.price-money strong{font-size:30px}.price-money span{margin:0}.price-row>.icon{grid-column:2;grid-row:1/3;align-self:center}.price-name{font-size:25px}.price-row p{font-size:12px}
  .product-offer-rail{margin-top:26px;padding:20px 0;gap:18px}.product-offer-rail .product-detail-price{min-width:0}.product-offer-rail .product-detail-actions{display:grid;grid-template-columns:1fr;gap:8px;width:100%}.product-offer-rail .product-detail-actions .button{width:100%}.product-detail-hero-inner{width:calc(100% - 28px)}
  .story-section,.online-section,.home-service-proof,.seo-service-section,.home-journal{padding:76px 0}.story-copy{font-size:16px;line-height:1.72}.principles-section{padding-bottom:76px}.principles-list article{grid-template-columns:42px 1fr;gap:10px 14px;padding:24px 0}.principles-list article>p{grid-column:2}.principles-list h3{font-size:21px}
  .blog-grid{grid-template-columns:1fr}.blog-card{padding:28px 0}.blog-card h2{font-size:28px}.article-hero{padding:72px 0 38px}.article-head h1{font-size:clamp(42px,12vw,58px)}.article-cover{width:100%;margin-bottom:54px}.article-layout{padding-bottom:80px}.article-content{font-size:16px;line-height:1.75}.article-content h2{margin-top:46px}.article-side{grid-template-columns:1fr}.journal-links a{grid-template-columns:38px 1fr 18px;min-height:86px;gap:10px}.journal-links strong{font-size:19px}
  .contact-composer{width:calc(100% - 12px);bottom:max(6px,env(safe-area-inset-bottom));border-radius:20px;padding:5px;gap:4px}.composer-social-icon{width:34px;height:34px}.composer-form{height:38px;border-radius:16px;padding-left:9px}.composer-send{width:31px;height:31px}.glass-message-bar{min-height:52px;grid-template-columns:minmax(0,1fr) 38px;padding:6px 7px 6px 14px;border-radius:19px}.line-send{width:38px;height:38px}.footer-contact{gap:34px}.footer-contact h2{font-size:38px}
}

@media(max-width:360px){.contact-composer{width:calc(100% - 6px);padding:4px}.composer-social-icon{width:30px;height:30px}.composer-social-icon img{width:16px;height:16px}.composer-form{height:34px;padding-left:7px}.composer-send{width:27px;height:27px}.composer-form input{font-size:11px}.price-money{display:block}.price-money span{margin-top:4px}.product-detail-price strong{font-size:38px}.article-head h1{font-size:40px}.finder-options button{min-height:72px}}


/* PATCH-006 — editorial cleanup, contact UX, light pricing, evidence carousel */
/* Blue mini headers removed globally. Product context stays in titles/content instead. */
.eyebrow{display:none!important}

/* Thai display typography: give combining marks breathing room without losing compact premium rhythm. */
html[lang="th"] .display{line-height:1.075;letter-spacing:-.034em;font-weight:600}
html[lang="th"] .h1{line-height:1.085;letter-spacing:-.032em;font-weight:600}
html[lang="th"] .h2{line-height:1.10;letter-spacing:-.03em;font-weight:600}
html[lang="th"] .h3{line-height:1.15;letter-spacing:-.022em}
html[lang="th"] .price-name,html[lang="th"] .article-head h1{letter-spacing:-.025em;line-height:1.1}

/* Header remains attached to the viewport while scrolling. */
.site-header{position:sticky!important;top:0!important;z-index:300;background:rgba(245,245,247,.78);backdrop-filter:blur(22px) saturate(180%);-webkit-backdrop-filter:blur(22px) saturate(180%)}

/* Minimal footer: navigation + ownership statement + real contact links only. */
.site-footer{padding:42px 0 max(32px,env(safe-area-inset-bottom));background:#f5f5f7}
.footer-bottom{padding-top:0;grid-template-columns:1.15fr 1fr auto;align-items:start}
.footer-socials{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;grid-column:2/4}
.footer-social-link{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 11px;border:1px solid rgba(17,17,19,.08);background:rgba(255,255,255,.48);font-size:11px;font-weight:500;transition:transform .36s var(--ease-premium),background .36s var(--ease-premium),box-shadow .36s var(--ease-premium),border-color .36s var(--ease-premium)}
.footer-social-link img{width:17px;height:17px;transition:transform .36s var(--ease-premium)}
.footer-social-link:hover{transform:translateY(-2px);background:#fff;border-color:rgba(17,17,19,.12);box-shadow:0 10px 26px rgba(0,0,0,.07)}
.footer-social-link:hover img{transform:scale(1.06)}
.footer-social-link:active{transform:scale(.97)}

/* Floating composer gracefully gets out of the way when footer is visible. */
.contact-composer{transition:opacity .36s var(--ease-premium),transform .46s var(--ease-premium),box-shadow .3s ease}
.contact-composer.is-footer-hidden{opacity:0;transform:translate(-50%,18px) scale(.985);pointer-events:none}

/* Contact page */
.contact-page-hero{padding-bottom:96px}
.contact-grid{grid-template-columns:.82fr 1.18fr;gap:84px}
.contact-card{padding:0;background:transparent;border-radius:0}
.contact-methods-rich{grid-template-columns:1fr 1fr;gap:8px;margin-top:34px}
.contact-method{border-radius:0;border-top:1px solid var(--hairline);background:transparent;padding:15px 2px;transition:padding .34s var(--ease-premium),background .34s var(--ease-premium)}
.contact-method:nth-last-child(-n+2){border-bottom:1px solid var(--hairline)}
.contact-method:hover{padding-left:10px;background:rgba(255,255,255,.45)}
.contact-method span{display:flex;flex-direction:column;gap:2px;min-width:0}.contact-method strong{font-weight:500}.contact-method small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-form-section{margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid var(--hairline)}
.contact-form-section h2,.preference-fieldset legend{margin:0 0 14px;font-size:15px;font-weight:600;letter-spacing:-.015em}
.form-row-3{grid-template-columns:repeat(3,1fr)}
.preference-fieldset{border:0}.preference-fieldset>p{margin:-7px 0 14px;color:var(--muted);font-size:11px}
.preference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.preference-choice{position:relative;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border:1px solid rgba(17,17,19,.11);background:rgba(255,255,255,.68);cursor:pointer;transition:background .32s var(--ease-premium),border-color .32s var(--ease-premium),transform .32s var(--ease-premium),box-shadow .32s var(--ease-premium)}
.preference-choice:hover{background:#fff;border-color:rgba(17,17,19,.18);transform:translateY(-1px)}
.preference-choice input{position:absolute;opacity:0;pointer-events:none}
.choice-mark{width:20px;height:20px;border:1px solid rgba(17,17,19,.18);display:grid;place-items:center;transition:background .26s ease,border-color .26s ease,transform .3s var(--ease-premium)}
.choice-mark .icon{width:13px;height:13px;opacity:0;transform:scale(.6);transition:opacity .2s ease,transform .3s var(--ease-premium)}
.preference-choice:has(input:checked){background:#f1f5ff;border-color:#8eb5ff;box-shadow:0 0 0 3px rgba(49,94,255,.055)}
.preference-choice input:checked+.choice-mark{background:#111113;border-color:#111113;color:#fff}.preference-choice input:checked+.choice-mark .icon{opacity:1;transform:scale(1)}
.preference-choice:has(input:focus-visible){outline:3px solid rgba(49,94,255,.2);outline-offset:2px}
.contact-submit{margin-top:2px}.form-privacy-note{font-size:11px;color:var(--muted);line-height:1.55;margin:10px 0 0}
.contact-finder-cta{padding:58px 0;background:#edf4ff}.contact-finder-cta .container{display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px}.contact-finder-cta h2{margin:0;font-size:clamp(28px,3.2vw,44px);line-height:1.12;letter-spacing:-.03em}.contact-finder-cta p{margin:10px 0 0;color:var(--muted);line-height:1.6;max-width:760px}
.contact-prep{background:#fff}

/* Product finder: keep the interaction, remove the heavy all-black presentation. */
.pricing-intro{background:linear-gradient(180deg,#edf3fb 0%,#f7f7f8 100%);color:var(--ink)}
.finder-intro .lede{color:#5e6066}.finder-privacy{color:#7a7c82}.finder-card{background:rgba(255,255,255,.68);box-shadow:inset 0 0 0 1px rgba(17,17,19,.08);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-radius:0}
.finder-progress{background:rgba(17,17,19,.10)}.finder-card h2,.finder-card h3{color:var(--ink)}.finder-step{color:#77797f}.finder-question-hint{color:#77797f}.finder-options{border-color:rgba(17,17,19,.13)}
.finder-options button{color:var(--ink);border-color:rgba(17,17,19,.13)}.finder-options button:hover{background:rgba(49,94,255,.045)}.finder-option-desc{color:#76787e}.finder-option-arrow{color:#777;opacity:.45}.finder-options button:hover .finder-option-arrow{color:#111;opacity:1}
.result-copy{color:#66686e}.result-tags span{background:#eceef2;color:#4e5055}.result-reasons{color:#4f5157}.pricing-intro .button-light{background:#111113;color:#fff}.pricing-intro .button-outline-light{border-color:rgba(17,17,19,.2);color:#111;background:transparent}.pricing-intro .button-text-light{color:#555}

/* BUILD remains a distinct product world, but not a black wall. */
.price-family-build{background:#f1efff;color:var(--ink)}
.price-family-build .price-family-head>p,.price-family-build .price-row p,.price-family-build .price-money span{color:#67626f}
.price-family-build .price-list,.price-family-build .price-row{border-color:rgba(17,17,19,.14)}
.price-family-build .price-row:hover{background:rgba(255,255,255,.48)}

/* Apple-like evidence carousel: full, flat stages with adjacent work always peeking. */
.work-showcase{padding:108px 0;background:#fff;overflow:hidden}
.work-showcase-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}.work-showcase-head>div{max-width:760px}.work-showcase-head p{max-width:680px;color:var(--muted);line-height:1.65;margin:15px 0 0}.work-showcase-head .text-link{flex:0 0 auto}
.work-carousel-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;padding:0 max(24px,calc((100vw - var(--container))/2)) 8px;scroll-padding-left:max(24px,calc((100vw - var(--container))/2))}.work-carousel-track::-webkit-scrollbar{display:none}
.work-slide{flex:0 0 min(78vw,1120px);scroll-snap-align:start;min-width:0}.work-slide-link{display:block}.work-slide-media{aspect-ratio:18/10;overflow:hidden;background:#eceef1}.work-slide-media picture,.work-slide-media img{width:100%;height:100%;display:block}.work-slide-media img{object-fit:cover;transition:transform .72s var(--ease-premium),filter .5s ease}.work-slide:hover .work-slide-media img{transform:scale(1.008)}
.work-slide-copy{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:20px 2px 6px}.work-slide-copy span{font-size:11px;color:#6e6e73}.work-slide-copy h3{font-size:clamp(22px,2.2vw,31px);line-height:1.15;letter-spacing:-.03em;margin:7px 0 0;font-weight:600}.work-slide-copy dl{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.work-slide-copy dl div{border-top:1px solid var(--hairline);padding-top:10px}.work-slide-copy dt{font-size:10px;color:#8b8d92}.work-slide-copy dd{margin:5px 0 0;font-size:12px;line-height:1.5;color:#494b50}
.work-carousel-controls{display:flex;align-items:center;justify-content:space-between;margin-top:24px}.work-dots{display:flex;align-items:center;gap:7px;position:relative}.work-dots button{width:28px;height:4px;padding:0;border:0;background:#d2d3d7;cursor:pointer;position:relative;overflow:hidden}.work-dots button.is-active{background:#8d8f95}.work-progress{position:absolute;left:0;bottom:-10px;width:28px;height:2px;background:transparent;overflow:hidden}.work-progress>span{display:block;width:100%;height:100%;background:#111;transform-origin:left}
.work-arrows{display:flex;gap:8px}.work-arrows button{width:42px;height:42px;border:0;border-radius:50%;display:grid;place-items:center;background:#e8e8ed;cursor:pointer;transition:transform .3s var(--ease-premium),background .3s ease}.work-arrows button:hover{transform:scale(1.06);background:#dedee3}.work-arrows button:active{transform:scale(.95)}
@keyframes workProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Work page detail sections remain proof, not decoration. */
.work-case .media-frame{border-radius:0}.work-case-copy .proof-grid{margin-top:26px}

@media(max-width:1050px){
  .footer-bottom{grid-template-columns:1fr 1fr}.footer-socials{grid-column:1/-1;justify-content:flex-start}
  .form-row-3{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:50px}.contact-methods-rich{max-width:720px}
}
@media(max-width:760px){
  html[lang="th"] .display{line-height:1.09;letter-spacing:-.025em}html[lang="th"] .h1{line-height:1.10;letter-spacing:-.024em}html[lang="th"] .h2{line-height:1.12;letter-spacing:-.022em}
  .site-footer{padding-top:34px}.footer-bottom{grid-template-columns:1fr;gap:24px}.footer-socials{grid-column:auto;justify-content:flex-start}.footer-social-link span{display:none}.footer-social-link{width:38px;height:38px;padding:0;justify-content:center}
  .contact-page-hero{padding-top:70px;padding-bottom:72px}.contact-card{width:100%}.contact-methods-rich{grid-template-columns:1fr 1fr}.form-row-3{grid-template-columns:1fr}.preference-grid{grid-template-columns:1fr 1fr 1fr}.preference-choice{justify-content:center;padding-inline:8px}.contact-finder-cta{padding:44px 0}.contact-finder-cta .container{grid-template-columns:1fr;gap:22px}.contact-finder-cta .button{justify-self:start}
  .pricing-intro{padding-top:84px}.finder-card{padding:24px 0;background:transparent;box-shadow:none}.finder-options button:hover{padding-left:6px;padding-right:4px}
  .work-showcase{padding:76px 0}.work-showcase-head{display:block;margin-bottom:30px}.work-showcase-head .text-link{margin-top:18px}.work-carousel-track{gap:12px;padding-left:10px;padding-right:10px;scroll-padding-left:10px}.work-slide{flex-basis:88vw}.work-slide-media{aspect-ratio:3/4}.work-slide-copy{grid-template-columns:1fr;gap:16px;padding:16px 2px 4px}.work-slide-copy dl{grid-template-columns:1fr 1fr}.work-carousel-controls{padding-inline:10px;margin-top:18px}.work-arrows button{width:40px;height:40px}
}
@media(max-width:390px){
  .contact-methods-rich{grid-template-columns:1fr}.preference-grid{grid-template-columns:1fr}.preference-choice{justify-content:flex-start;min-height:46px}.work-slide{flex-basis:91vw}.work-slide-copy dl{grid-template-columns:1fr}.work-slide-copy h3{font-size:23px}
  .footer-links{grid-template-columns:1fr 1fr;gap:10px 16px}
}

/* PATCH-006 QA */
body{padding-bottom:0!important}
.work-progress{transition:transform .42s var(--ease-premium)}

/* PATCH-007 — carousel stability, persistent navigator, pricing refinement, light systems */
html,body{overflow-x:clip}
.site-header{position:fixed!important;inset:0 0 auto 0;top:0!important;width:100%;z-index:500;background:rgba(245,245,247,.76);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(17,17,19,.055)}
.site-header.is-scrolled{background:rgba(245,245,247,.9);border-color:rgba(17,17,19,.085);box-shadow:0 1px 0 rgba(255,255,255,.7)}
.site-header+main{padding-top:var(--header-h)}
.mobile-menu{position:absolute;top:100%;left:0;right:0;box-shadow:0 18px 40px rgba(0,0,0,.07)}
.brand{transition:opacity .28s ease,transform .32s var(--ease-premium)}
.brand:hover{opacity:.72}.brand:active{transform:scale(.975)}

/* Evidence carousel indicators: wider rounded pills, active progress overlays the current pill. */
.work-dots{gap:8px}
.work-dots button{width:38px;height:5px;border-radius:999px;background:#d5d7dc;overflow:hidden;transition:background .28s ease,transform .28s var(--ease-premium)}
.work-dots button:hover{background:#bfc2c8;transform:scaleX(1.035)}
.work-dots button.is-active{background:#c6c8cd}
.work-progress{left:0;top:0;bottom:auto;width:38px;height:5px;border-radius:999px;background:transparent;overflow:hidden;pointer-events:none;transition:transform .42s var(--ease-premium)}
.work-progress>span{width:100%;height:100%;border-radius:999px;background:#5f6268;transform-origin:left center;will-change:transform}
.work-carousel-track,.work-slide{overflow-anchor:none}

/* Finder: more breathing room; answer hierarchy stays legible on pale backgrounds. */
.finder-card{padding:28px 30px 34px;background:rgba(255,255,255,.76);box-shadow:inset 0 0 0 1px rgba(17,17,19,.075)}
.finder-progress{margin-left:0;margin-right:0;background:#d8dde5;border-radius:999px;overflow:hidden}
.finder-progress>span{background:#6e8fc5;border-radius:999px}
.finder-card h2{font-weight:600;color:#17181b}
.finder-step{color:#626872;font-weight:500}
.finder-question-hint{color:#777d86}
.finder-options{border-color:#d8dce2}
.finder-options button{color:#1d1e21;border-color:#d8dce2;padding-inline:10px}
.finder-option-title{color:#202124!important;font-weight:600}
.finder-option-desc{color:#71757d!important}
.finder-option-arrow{color:#7d8188}
.finder-options button:hover{background:#f0f4fa;padding-left:17px;padding-right:14px}
.finder-options button:hover .finder-option-arrow{color:#222;opacity:1}

/* GROW pricing uses a neutral silver world rather than coral. */
.price-family-grow{background:#f1f2f4}
.price-family-grow .price-family-head>p,.price-family-grow .price-row p,.price-family-grow .price-money span{color:#666a70}
.price-family-grow .price-row:hover{background:rgba(255,255,255,.6)}

/* Systems page is light throughout; violet remains an accent, never a black wall. */
.systems-page{background:#fff}
.systems-page .page-hero{background:linear-gradient(180deg,#f4f2fb 0%,#fff 100%)!important;color:var(--ink)!important}
.systems-page .page-hero .lede{color:var(--muted)!important}
.systems-page .page-hero .button-light{background:#111113;color:#fff}
.systems-page .page-hero .button-ghost{border-color:rgba(17,17,19,.16)!important;color:#111!important}
.systems-page .package-card.dark{background:#f3f1fa;color:var(--ink)}
.systems-page .package-card.dark .package-label,.systems-page .package-card.dark .package-desc,.systems-page .package-card.dark .package-list{color:#5f6067}
.systems-page .package-card.dark .package-list .icon{color:#6856d9}
.systems-page .section[style*="background:#f1efff"]{background:#f7f7f8!important}

@media(max-width:760px){
  .finder-card{padding:22px 16px 28px;margin-inline:-4px}
  .finder-options button{padding-left:6px;padding-right:4px}
  .finder-options button:hover{padding-left:6px;padding-right:4px}
  .work-dots button,.work-progress{width:34px}
}
@media(max-width:360px){
  .finder-card{padding-inline:12px;margin-inline:0}
}
.systems-page .system-accent{background:#f3f1fa;color:var(--ink)}
.systems-page .system-accent .package-label,.systems-page .system-accent .package-desc,.systems-page .system-accent .package-list{color:#5f6067}
.systems-page .system-architecture-section{background:#f7f7f8}


/* PATCH-008 — glass navigator, light premium surfaces, circular proof carousel, privacy */
:root{--nav-glass:rgba(250,250,252,.72);--nav-line:rgba(17,17,19,.075);--finder-bg:#f4f7fb;--finder-line:#d9dee7;--finder-accent:#5f80b5;--soft-gold:#d8c9a7;--soft-gold-bg:#fbf8f1}

/* Persistent premium navigation */
.site-header{background:var(--nav-glass)!important;border-bottom:1px solid var(--nav-line)!important;box-shadow:0 1px 0 rgba(255,255,255,.78),0 8px 30px rgba(24,28,36,.035)!important;backdrop-filter:blur(30px) saturate(190%)!important;-webkit-backdrop-filter:blur(30px) saturate(190%)!important}
.site-header.is-scrolled{background:rgba(250,250,252,.84)!important;box-shadow:0 1px 0 rgba(255,255,255,.86),0 12px 36px rgba(24,28,36,.055)!important}
.nav-shell{min-height:var(--header-h)}
.lang-switch,.icon-button{background:rgba(255,255,255,.48);border-color:rgba(17,17,19,.07);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}

/* Homepage CTA should stay in the same light editorial world. */
.home-finder-cta{background:linear-gradient(180deg,#f2f5fa 0%,#f8f8f9 100%)}
.home-finder-cta .feature-panel{background:transparent!important;color:var(--ink)!important}
.home-finder-cta .feature-copy .lede{color:var(--muted)!important}
.home-finder-cta .button{background:#111113;color:#fff}

/* Finder alignment and contrast */
.pricing-intro{background:linear-gradient(180deg,#edf3fa 0%,#f7f8fa 100%)!important;color:var(--ink)!important;padding:118px 0 112px}
.finder-shell{grid-template-columns:.68fr 1.32fr;gap:84px;align-items:start}
.finder-intro{position:sticky;top:calc(var(--header-h) + 26px)}
.finder-intro .h1,.finder-intro .lede{color:var(--ink)!important}
.finder-intro .lede{color:#5f6570!important}.finder-privacy{color:#7b818a!important}
.finder-card{padding:24px 12px 30px!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;min-width:0}
.finder-progress{height:3px;background:#d4dae4!important;margin:0 12px 34px;border-radius:999px}.finder-progress>span{background:#6788bd!important}
.finder-nav{padding-inline:12px;margin-bottom:26px}.finder-back{color:#7c8188!important}.finder-back:hover{color:#202124!important}
.finder-count{color:#737983!important}
.finder-card h2,.finder-card h3{color:#17181b!important;line-height:1.14}.finder-question-hint{color:#737983!important;margin-left:12px;margin-right:12px}
.finder-options{margin:30px 12px 0;border-top:1px solid var(--finder-line)!important}
.finder-options button{padding:18px 14px!important;border-bottom:1px solid var(--finder-line)!important;color:#202124!important;background:rgba(255,255,255,.24)!important}
.finder-options button:hover{background:rgba(255,255,255,.72)!important;padding-left:20px!important;padding-right:18px!important}
.finder-option-title{color:#1d1f22!important}.finder-option-desc{color:#767c85!important}.finder-option-arrow{color:#8a9098!important}.finder-options button:hover .finder-option-arrow{color:#3d5f91!important}
.result-copy,.result-care{color:#626871!important}.result-reasons{border-color:#d8dde5!important}.result-reasons>p{color:#747a83!important}.result-reasons li{border-color:#dfe3e9!important;color:#303238!important}.result-tags span{background:#e7edf5!important;color:#46536a!important}
.button-outline-light{border-color:#b8c0cd!important;color:#25272b!important}.button-text-light{color:#4d5560!important}

/* Contact preferences: blue check, quiet champagne/silver selected surface. */
.preference-choice{border-color:#d8dadd!important;background:#fafafa!important;transition:background .3s var(--ease-premium),border-color .3s ease,box-shadow .3s var(--ease-premium),transform .3s var(--ease-premium)}
.preference-choice:hover{background:#fff!important;border-color:#c8cbd0!important;transform:translateY(-1px)}
.preference-choice:has(input:checked){background:linear-gradient(180deg,#fffdf8,#f8f4eb)!important;border-color:#d8c8a8!important;box-shadow:0 8px 28px rgba(92,75,42,.06),inset 0 1px 0 #fff}
.choice-mark{background:#fff!important;border:1px solid #b9c7db!important;color:#fff!important}
.preference-choice input:checked+.choice-mark{background:#3978d5!important;border-color:#3978d5!important;box-shadow:0 0 0 3px rgba(61,123,255,.10)}
.preference-choice input:focus-visible+.choice-mark{outline:2px solid #7aa9ee;outline-offset:3px}

/* Product duration */
.product-timeline{display:flex;align-items:flex-start;gap:26px;margin-top:24px;padding-top:22px;border-top:1px solid rgba(17,17,19,.10);max-width:760px}
.product-timeline strong{display:block;font-size:18px;line-height:1.25;font-weight:600;letter-spacing:-.02em}.product-timeline span{display:block;margin-top:5px;color:var(--muted);font-size:12px;line-height:1.55}.product-timeline-label{min-width:168px;color:#6e7178;font-size:11px;font-weight:600;letter-spacing:.02em}
.product-template-action{margin-top:16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Templates */
.template-hero{background:linear-gradient(180deg,#eef4ff,#fff)}
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 18px}
.template-card{display:block;color:inherit;text-decoration:none}.template-media{aspect-ratio:16/10;overflow:hidden;background:#eef0f3}.template-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s var(--ease-premium)}.template-card:hover .template-media img{transform:scale(1.012)}
.template-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:16px 2px 0}.template-meta h2{margin:0;font-size:22px;line-height:1.25;font-weight:600;letter-spacing:-.025em}.template-meta p{margin:6px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.template-tag{font-size:11px;color:#70757d;white-space:nowrap;padding-top:4px}
.template-note{margin-top:58px;padding:36px 0;border-top:1px solid var(--hairline);display:grid;grid-template-columns:1fr 1fr;gap:56px}.template-note p{margin:0;color:var(--muted);line-height:1.75}

/* Work carousel: presentation viewport + truly cyclic strip. */
.work-carousel-track{--work-edge:max(24px,calc((100vw - var(--container))/2));display:block!important;overflow:hidden!important;scroll-snap-type:none!important;overscroll-behavior:none!important;padding:0!important;scroll-padding:0!important;touch-action:pan-y}
.work-carousel-strip{display:flex;gap:18px;width:max-content;padding:0 var(--work-edge) 8px;will-change:transform;transform:translate3d(0,0,0)}
.work-carousel-strip.is-animating{transition:transform .76s cubic-bezier(.2,.72,.22,1)}
.work-slide{flex:0 0 min(78vw,1120px)!important;scroll-snap-align:none!important}
.work-dots button{position:relative;width:42px;height:6px;border-radius:999px;background:#d7d9de!important;overflow:hidden;transform:none!important}
.work-dots button:hover{background:#c9ccd2!important}.work-dots button.is-active{background:#d7d9de!important}
.work-dot-fill{position:absolute;inset:0;border-radius:inherit;background:#656a73;transform:scaleX(0);transform-origin:left center;will-change:transform}
.work-dots button.is-active .work-dot-fill.is-running{animation:workPillFill 6000ms linear forwards}
.work-progress{display:none!important}
@keyframes workPillFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* Cookie / privacy */
.cookie-consent{position:fixed;z-index:900;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%,18px);width:min(calc(100% - 28px),760px);opacity:0;pointer-events:none;transition:opacity .38s ease,transform .48s var(--ease-premium)}
.cookie-consent.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}.cookie-consent-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px 15px 15px 20px;border:1px solid rgba(255,255,255,.78);background:rgba(247,248,250,.72);box-shadow:0 18px 60px rgba(31,36,45,.16),inset 0 1px 0 #fff;border-radius:22px;backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%)}
.cookie-copy strong{display:block;font-size:13px;font-weight:600}.cookie-copy p{margin:4px 0 0;color:#666b73;font-size:11px;line-height:1.55}.cookie-copy a{color:#315eff;text-decoration:none}.cookie-actions{display:flex;gap:8px}.cookie-actions .button{min-height:38px;padding:0 15px;font-size:11px}
.privacy-content{max-width:840px}.privacy-content h2{font-size:26px;margin:48px 0 10px}.privacy-content p,.privacy-content li{color:#535861;line-height:1.8}.privacy-content ul{padding-left:20px}

/* Keep systems in the white editorial family. */
.systems-page .page-hero,.systems-page .section,.systems-page .system-architecture-section{color:var(--ink)!important}
.systems-page .package-card{background:#fff!important;color:var(--ink)!important;border-top:1px solid #e2e4e8}
.systems-page .system-accent{background:#f3f1fa!important}
.systems-page .architecture-strip .arch-node{background:#fff!important}

@media(max-width:1050px){
  .finder-shell{grid-template-columns:1fr;gap:46px}.finder-intro{position:static;max-width:760px}.template-note{grid-template-columns:1fr;gap:18px}
}
@media(max-width:760px){
  .pricing-intro{padding:76px 0 82px}.finder-card{padding:8px 0 20px!important}.finder-progress{margin-inline:0}.finder-nav{padding-inline:0}.finder-question-hint{margin-inline:0}.finder-options{margin-inline:0}.finder-options button{padding:17px 8px!important}.finder-options button:hover{padding-left:8px!important;padding-right:8px!important}
  .product-timeline{display:block}.product-timeline-label{margin-bottom:7px}.template-grid{grid-template-columns:1fr;gap:34px}.template-meta h2{font-size:21px}
  .work-carousel-track{--work-edge:10px}.work-carousel-strip{gap:12px}.work-slide{flex-basis:88vw!important}.work-dots button{width:38px;height:6px}
  .cookie-consent{bottom:max(12px,env(safe-area-inset-bottom))}.cookie-consent-inner{grid-template-columns:1fr;gap:12px;padding:15px;border-radius:20px}.cookie-actions{justify-content:flex-end}.cookie-actions .button{flex:1}
}
@media(max-width:360px){.work-slide{flex-basis:91vw!important}.cookie-actions{flex-direction:column}.template-meta{gap:10px}.template-tag{font-size:10px}}

/* PATCH-008 final polish */
.price-family-build{background:#f1efff!important;color:var(--ink)!important}.price-family-build .price-family-head>p,.price-family-build .price-row p,.price-family-build .price-money span{color:#656872!important}.price-family-build .eyebrow{color:#6856d9!important}.price-family-build .price-list,.price-family-build .price-row{border-color:rgba(17,17,19,.14)!important}.price-family-build .price-row:hover{background:rgba(255,255,255,.55)!important}
.has-cookie-consent .contact-composer{opacity:0!important;pointer-events:none!important;transform:translate(-50%,18px)!important}

.package-card-main{display:flex;flex-direction:column;justify-content:space-between;min-height:100%;color:inherit}.package-card-actions{padding-top:16px;border-top:1px solid rgba(17,17,19,.10);margin-top:18px}.package-card-actions .button{min-height:38px;font-size:12px}


/* PATCH-009 — mobile-first finder, character art, carousel reliability, conversion focus */
body{font-synthesis:none}

/* Character assets are real transparent WebP art. Keep the frame stable and let the artwork move, not the layout. */
.world-media{overflow:visible!important;display:grid;place-items:end center}
.world-media .world-character-image{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform-origin:50% 86%;will-change:transform;filter:drop-shadow(0 18px 22px rgba(22,28,40,.06))}
@media(hover:hover) and (pointer:fine){
  .world-card:hover .world-character-image{animation:characterWiggle .92s cubic-bezier(.22,.72,.18,1) both}
}
@keyframes characterWiggle{0%{transform:translate3d(0,0,0) rotate(0)}22%{transform:translate3d(-2px,-7px,0) rotate(-.55deg)}46%{transform:translate3d(3px,-3px,0) rotate(.65deg)}70%{transform:translate3d(-1px,-5px,0) rotate(-.3deg)}100%{transform:translate3d(0,-2px,0) rotate(0)}}
@media(prefers-reduced-motion:reduce){.world-card:hover .world-character-image{animation:none!important}}

/* BUILD: Business Workflow is intentionally the commercial focus. */
.systems-page .package-card.workflow-featured{background:linear-gradient(180deg,#eef5ff 0%,#f8fbff 100%)!important;border-top:2px solid #6f9ee3!important;box-shadow:0 18px 50px rgba(54,91,145,.07)}
.systems-page .package-card.workflow-featured .package-price{font-size:48px;color:#255ea8}
.systems-page .package-card.workflow-featured .package-detail-cue{color:#255ea8}
@media(hover:hover){.systems-page .package-card.workflow-featured:hover{transform:translateY(-7px);box-shadow:0 24px 62px rgba(54,91,145,.11)}}

/* Work carousel must never trap the mouse wheel. Horizontal motion is transform-driven. */
.work-carousel-track{overflow:hidden!important;overscroll-behavior-x:contain!important;overscroll-behavior-y:auto!important;touch-action:pan-y!important}
.work-carousel-strip{user-select:none}
.work-slide-link{-webkit-user-drag:none}
.work-dots button{cursor:pointer}
.work-dot-fill{background:#5d6674}

/* Contact methods are clearly interactive; Fastwork uses a neutral external-link glyph, not a brand logo. */
.contact-method{position:relative;z-index:1;cursor:pointer;pointer-events:auto}
.contact-method:hover{color:#111;background:rgba(255,255,255,.78)}
.contact-method .contact-external-icon{width:19px;height:19px;color:#7c8188;flex:0 0 auto}
.footer-social-link.fastwork-text{padding-inline:13px}

/* Finder: stack the interaction beneath the introduction before the layout becomes tablet-narrow. */
@media(max-width:1180px){
  .pricing-intro .finder-shell{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:40px!important}
  .pricing-intro .finder-intro{position:static!important;top:auto!important;max-width:780px!important}
  .pricing-intro .finder-card{width:100%!important;max-width:none!important;margin:0!important}
}
@media(max-width:760px){
  .pricing-intro{padding:62px 0 76px!important}
  .pricing-intro .finder-shell{gap:30px!important}
  .pricing-intro .finder-intro .h1{font-size:clamp(42px,12.4vw,58px)!important;line-height:1.08!important;letter-spacing:-.027em!important;max-width:10.8ch}
  .pricing-intro .finder-intro .lede{font-size:17px!important;line-height:1.62!important;max-width:36ch}
  .pricing-intro .finder-card{padding:18px 0 22px!important;border-top:1px solid #d7dde6!important}
  .pricing-intro .finder-progress{margin:0 0 26px!important}
  .pricing-intro .finder-nav{padding:0!important;margin-bottom:22px!important}
  .pricing-intro .finder-card h2,.pricing-intro .finder-card h3{font-size:clamp(30px,8.3vw,42px)!important;line-height:1.15!important;letter-spacing:-.025em!important}
  .pricing-intro .finder-question-hint{margin:10px 0 0!important;line-height:1.55!important}
  .pricing-intro .finder-options{margin:26px 0 0!important}
  .pricing-intro .finder-options button{min-height:82px!important;padding:17px 8px!important}
  .pricing-intro .finder-option-title{font-size:15px!important}
  .pricing-intro .finder-option-desc{font-size:11.5px!important}
}
@media(max-width:390px){
  .pricing-intro .finder-intro .h1{font-size:42px!important;max-width:9.8ch}
  .pricing-intro .finder-card h2,.pricing-intro .finder-card h3{font-size:31px!important}
}


/* PATCH-010 — audit polish: contact reliability, font readiness, footer composition, lighter glass */

/* First-load font mask. Avoid showing a visibly different headed Thai fallback while Anuphan is arriving. */
html.font-pending main,
html.font-pending .site-header,
html.font-pending .site-footer,
html.font-pending .contact-composer,
html.font-pending .cookie-consent{
  opacity:.78;
  filter:blur(2.2px);
  transition:opacity .32s ease,filter .42s cubic-bezier(.16,1,.3,1);
}
html.font-ready main,
html.font-ready .site-header,
html.font-ready .site-footer,
html.font-ready .contact-composer,
html.font-ready .cookie-consent{opacity:1;filter:none}

/* Premium entrance: restrained blur-to-sharp, no layout movement. */
.reveal{opacity:0;transform:translateY(12px) scale(.997);filter:blur(5px);transition:opacity .68s ease,transform .72s cubic-bezier(.16,1,.3,1),filter .62s ease}
.reveal.is-visible{opacity:1;transform:none;filter:none}
.hero .reveal,.page-hero .reveal,.product-detail-hero .reveal,.pricing-intro .reveal{filter:none}

/* Sticky glass header is intentionally ~10% lighter than PATCH-009. */
:root{--nav-glass:rgba(250,250,252,.64)}
.site-header{background:rgba(250,250,252,.64)!important;border-bottom-color:rgba(17,17,19,.055)!important;box-shadow:0 1px 0 rgba(255,255,255,.72),0 7px 26px rgba(24,28,36,.025)!important}
.site-header.is-scrolled{background:rgba(250,250,252,.76)!important;border-bottom-color:rgba(17,17,19,.07)!important;box-shadow:0 1px 0 rgba(255,255,255,.78),0 9px 30px rgba(24,28,36,.035)!important}

/* Character motion gets breathing room. Alpha-based white halo outlines the person only, never a rectangular frame. */
.world-card{overflow:visible}
.world-media{overflow:visible!important;padding-top:12px;margin-top:-12px}
.world-media .world-character-image{
  max-height:calc(100% - 8px);
  filter:
    drop-shadow(1px 0 0 rgba(255,255,255,.92))
    drop-shadow(-1px 0 0 rgba(255,255,255,.92))
    drop-shadow(0 1px 0 rgba(255,255,255,.92))
    drop-shadow(0 -1px 0 rgba(255,255,255,.92))
    drop-shadow(0 18px 22px rgba(22,28,40,.06));
}

/* Contact/social surfaces: links stay obvious and clickable without card-like shadows. */
.contact-method{display:flex;pointer-events:auto!important;position:relative;isolation:isolate;transition:background .3s var(--ease-premium),border-color .3s ease,color .3s ease,transform .3s var(--ease-premium)}
.contact-method::after{content:"";position:absolute;inset:0;z-index:-1;border:1px solid transparent;pointer-events:none;transition:border-color .3s ease}
.contact-method:hover{background:rgba(248,250,253,.74)!important;transform:translateY(-1px)}
.contact-method:hover::after{border-color:#cbd5e2}
.contact-method:focus-visible{outline:2px solid #8eb8ef;outline-offset:3px}
.footer-social-link{box-shadow:none!important;background:rgba(255,255,255,.34)!important;border-color:rgba(17,17,19,.09)!important;transform:none!important}
.footer-social-link:hover{box-shadow:none!important;background:rgba(255,255,255,.6)!important;border-color:#aebdce!important;transform:none!important}
.footer-social-link:hover img{transform:none!important;opacity:1}.footer-social-link img{opacity:.82}
.footer-social-link:focus-visible{outline:2px solid #8eb8ef;outline-offset:3px}

/* Contact preference: silver-gray / pale-blue selected state; no champagne/gold. */
.preference-choice{background:#fafbfc!important;border-color:#d8dde4!important;box-shadow:none!important}
.preference-choice:hover{background:linear-gradient(180deg,#fff,#f7f9fb)!important;border-color:#c8d1dc!important;box-shadow:none!important}
.preference-choice:has(input:checked){background:linear-gradient(135deg,#f7f9fc 0%,#eef4fb 58%,#f5f8fc 100%)!important;border-color:#bdcbdc!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.92)!important}
.choice-mark{background:#fff!important;border-color:#b7c5d6!important;color:#fff!important}
.preference-choice input:checked+.choice-mark{background:#4d8fe3!important;border-color:#4d8fe3!important;box-shadow:0 0 0 3px rgba(77,143,227,.09)!important}

/* Footer: controlled wrapping. Never leave Privacy orphaned on its own row. */
.site-footer{padding:40px 0 max(30px,env(safe-area-inset-bottom))}
.footer-bottom{display:grid!important;grid-template-columns:minmax(235px,.9fr) minmax(420px,1.55fr) minmax(190px,.65fr)!important;gap:28px 42px!important;align-items:start!important}
.footer-links{display:grid!important;grid-template-columns:repeat(3,max-content)!important;gap:10px 22px!important;align-content:start!important;font-weight:400!important}
.footer-links a{line-height:1.45;color:#31343a;transition:color .2s ease}.footer-links a:hover{color:#0066cc}
.footer-small{justify-self:end;white-space:nowrap}
.footer-socials{grid-column:3!important;justify-content:flex-end!important;align-self:end!important;margin-top:-10px}
.footer-brand p{max-width:270px}
@media(max-width:1080px){
  .footer-bottom{grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)!important;gap:28px 36px!important}
  .footer-links{grid-template-columns:repeat(3,minmax(0,max-content))!important}
  .footer-small{justify-self:start;text-align:left!important}
  .footer-socials{grid-column:1/-1!important;justify-content:flex-start!important;margin-top:0}
}
@media(max-width:720px){
  .footer-bottom{grid-template-columns:1fr!important;gap:24px!important}
  .footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px 18px!important}
  .footer-socials{grid-column:auto!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .footer-social-link{width:auto!important;height:38px!important;padding:0 11px!important;justify-content:center!important}
  .footer-social-link span{display:inline!important}
  .footer-small{white-space:normal}
}
@media(max-width:390px){.footer-links{grid-template-columns:repeat(2,minmax(0,1fr))!important}.footer-social-link{min-width:42px}.footer-social-link span{display:none!important}.footer-social-link.fastwork-text span{display:inline!important}}

@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1!important;transform:none!important;filter:none!important}
  html.font-pending main,html.font-pending .site-header,html.font-pending .site-footer,html.font-pending .contact-composer,html.font-pending .cookie-consent{filter:none!important;opacity:1!important}
}

/* PATCH-010Plus — footer social alignment */
.footer-socials{
  display:grid!important;
  grid-template-columns:repeat(2,92px)!important;
  grid-auto-rows:38px;
  gap:8px!important;
  width:max-content;
  justify-content:end!important;
  align-items:stretch!important;
}
.footer-social-link{
  width:92px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0 10px!important;
  justify-content:center!important;
  gap:7px!important;
  box-sizing:border-box;
  white-space:nowrap;
}
.footer-social-link.fastwork-text{padding-inline:10px!important}
.footer-social-link span{line-height:1;display:inline!important}
@media(max-width:1080px){
  .footer-socials{grid-template-columns:repeat(4,92px)!important;justify-content:start!important}
}
@media(max-width:720px){
  .footer-socials{grid-template-columns:repeat(2,minmax(92px,1fr))!important;width:min(100%,392px)!important}
  .footer-social-link{width:100%!important}
}
@media(max-width:390px){
  .footer-socials{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .footer-social-link span{display:inline!important}
  .footer-social-link{min-width:0!important;width:100%!important}
}

/* PATCH-011 | editorial polish, mobile density, footer rhythm */

/* Navigation: keep the glass bar clean. Active state is text-only, no underline. */
.desktop-nav a[aria-current="page"]::after{display:none!important;content:none!important}
.desktop-nav a[aria-current="page"]{font-weight:500;color:#111!important}

/* Reveal the whole composition, not only copy. GPU-friendly and one-time. */
.reveal{transition-delay:var(--reveal-delay,0ms)}
.reveal.media-frame,.reveal.blog-card,.reveal.template-card,.reveal.package-card,.reveal.arch-node,.reveal.contact-card,.reveal.work-carousel-track{
  transform:translateY(14px) scale(.996);
}
.reveal.is-visible{transform:none}

/* Character art can visually breathe outside its stage without changing hit areas. */
.world-row{padding-top:54px!important;margin-top:-54px}
.world-card{position:relative;isolation:isolate}
.world-media{position:relative;z-index:2;pointer-events:none!important}
.world-media .world-character-image{
  scale:1.10;
  pointer-events:none!important;
  user-select:none;
  -webkit-user-drag:none;
}
.world-body{position:relative;z-index:3}
@media(min-width:761px){.world-row{overflow:visible!important}}
@media(max-width:760px){
  .world-row{padding-top:38px!important;margin-top:-38px}
  .world-media .world-character-image{scale:1.08}
}

/* Finder answers: centered, balanced, and still easy to scan. */
.finder-options button{
  position:relative!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 22px!important;
  align-items:center!important;
  text-align:center!important;
  padding-left:44px!important;
  padding-right:18px!important;
}
.finder-option-copy{display:grid;justify-items:center;text-align:center;min-width:0}
.finder-option-title,.finder-option-desc{text-align:center!important}
.finder-option-arrow{justify-self:end!important}
.finder-options button:hover{padding-left:44px!important;padding-right:18px!important}

/* Blog index remains a two-column magazine grid on small phones. */
@media(max-width:760px){
  .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0 12px!important}
  .blog-card{padding:20px 0!important;min-width:0}
  .blog-card-copy{padding-top:12px!important}
  .blog-meta{font-size:9.5px!important;margin-bottom:7px!important;line-height:1.4}
  .blog-card h2{font-size:clamp(16px,4.7vw,20px)!important;line-height:1.22!important;letter-spacing:-.025em!important}
  .blog-card-copy>p:not(.blog-meta){font-size:11px!important;line-height:1.5!important;margin:9px 0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .blog-card .text-link{font-size:10px!important;margin-top:4px!important}
  .blog-thumb small{display:none}
  .blog-thumb span{font-size:9px!important}
}
@media(max-width:360px){
  .blog-grid{gap:0 9px!important}
  .blog-card h2{font-size:15px!important}
  .blog-card-copy>p:not(.blog-meta){-webkit-line-clamp:2}
}

/* Footer: Apple-like rhythm, nav stays together, social controls occupy one deliberate bottom row. */
.footer-bottom{
  display:grid!important;
  grid-template-columns:minmax(260px,1fr) auto!important;
  gap:20px 36px!important;
  align-items:start!important;
}
.footer-brand{grid-column:1}
.footer-small{grid-column:2;justify-self:end!important;text-align:right!important}
.footer-links{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(9,max-content)!important;
  gap:10px 22px!important;
  padding-top:18px;
  margin-top:2px;
  border-top:1px solid rgba(17,17,19,.08);
  align-items:center;
}
.footer-socials{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(4,112px)!important;
  grid-auto-rows:38px!important;
  gap:8px!important;
  width:max-content!important;
  justify-self:end!important;
  justify-content:end!important;
  margin-top:4px!important;
}
.footer-social-link{
  width:112px!important;
  height:38px!important;
  min-height:38px!important;
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:start!important;
  gap:8px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  text-align:left!important;
  box-shadow:none!important;
}
.footer-social-link img,.footer-social-link .icon{width:18px!important;height:18px!important;justify-self:start!important}
.footer-social-link span{display:block!important;line-height:1!important;text-align:left!important}
.footer-social-link:hover{box-shadow:none!important;border-color:#aebdce!important;background:rgba(255,255,255,.68)!important}

@media(max-width:1120px) and (min-width:721px){
  .footer-bottom{grid-template-columns:minmax(220px,1fr) auto!important}
  .footer-links{grid-template-columns:repeat(6,max-content)!important;gap:10px 20px!important}
  .footer-socials{grid-template-columns:repeat(4,108px)!important}
  .footer-social-link{width:108px!important}
}
@media(max-width:720px){
  .footer-bottom{grid-template-columns:1fr!important;gap:20px!important}
  .footer-brand,.footer-small{grid-column:1!important;justify-self:start!important;text-align:left!important}
  .footer-links{
    grid-column:1!important;
    display:flex!important;
    gap:18px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    white-space:nowrap;
    padding:17px 0 4px!important;
  }
  .footer-links::-webkit-scrollbar{display:none}
  .footer-links a{flex:0 0 auto}
  .footer-socials{
    grid-column:1!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:min(100%,360px)!important;
    justify-self:start!important;
  }
  .footer-social-link{width:100%!important}
}

/* Keep the document inside small iPhone viewports even when characters visually overflow. */
html,body{max-width:100%;overflow-x:clip}

/* PATCH 012 — home visual upgrades */
.site-header,
.site-header.is-scrolled{
  border-bottom-color: transparent !important;
  box-shadow: 0 10px 28px rgba(24,28,36,.03) !important;
}
.site-header{background:rgba(250,250,252,.58)!important}
.site-header.is-scrolled{background:rgba(250,250,252,.7)!important}

.hero-media,
.world-card,
.world-media,
.event-media{overflow:visible!important}
.world-card{position:relative}
.world-media .world-character-image{
  filter:
    drop-shadow(0 0 0.7px rgba(255,255,255,.98))
    drop-shadow(0 0 1.6px rgba(255,255,255,.96))
    drop-shadow(0 0 6px rgba(150,156,166,.18))
    drop-shadow(0 18px 24px rgba(22,28,40,.08)) !important;
}
.event-gift-image{
  width:100%;height:100%;object-fit:contain;object-position:center;
  filter:
    drop-shadow(0 0 0.7px rgba(255,255,255,.98))
    drop-shadow(0 0 1.8px rgba(255,255,255,.96))
    drop-shadow(0 0 8px rgba(150,156,166,.15))
    drop-shadow(0 24px 34px rgba(22,28,40,.08));
}
.event-panel{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:68px;
  align-items:center;
  padding:72px;
  border-radius:42px;
  background:linear-gradient(180deg,#eef8ee 0%,#e8f4ea 100%);
}
.event-panel .event-media{
  background:linear-gradient(180deg,rgba(255,255,255,.72) 0%,rgba(255,255,255,.5) 100%);
}
.home-event-teaser .eyebrow{color:#3f8f5f}
.home-event-teaser .button-dark{background:#111113}
.home-event-teaser .button-dark:hover{background:#1c1c1f}
.work-slide-media img,
.hero-media img,
.feature-panel .media-frame img,
.home-finder-cta .media-frame img{
  image-rendering:auto;
}
@media(max-width:1050px){
  .event-panel{grid-template-columns:1fr;gap:34px;padding:0;background:transparent;border-radius:0}
  .event-panel>.media-frame{order:-1;border-radius:26px}
}
@media(max-width:720px){
  .event-panel>.media-frame{width:calc(100% + 20px);margin-left:-10px;border-radius:0}
}

/* PATCH 013 — Product Finder, landing cards, contact interaction polish */
@media(hover:hover){
  .package-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 46px rgba(0,0,0,.07);
  }
  .package-card:hover .package-detail-cue .icon{transform:translateX(4px)}
}
.package-card-main{
  position:relative;
  z-index:2;
  flex:1 1 auto;
  width:100%;
  color:inherit;
  text-decoration:none;
}
.package-card-main:focus-visible{outline:2px solid #8eb8ef;outline-offset:5px}

.finder-option-copy{
  transition:transform .34s var(--ease-premium),color .25s ease;
}
.finder-options button:hover .finder-option-copy{transform:translateX(5px)}
.finder-options button.is-selected{
  background:linear-gradient(90deg,rgba(231,239,250,.92),rgba(247,249,252,.88))!important;
  border-color:#aebfd6!important;
}
.finder-options button.is-selected .finder-option-title{color:#245d9f!important}
.finder-options button.is-selected .finder-option-arrow{opacity:1!important;color:#245d9f!important;transform:translateX(0)!important}
.finder-multi-actions{display:flex;justify-content:flex-end;margin-top:22px}
.finder-multi-next{min-width:138px;gap:8px}
.finder-multi-next:disabled{opacity:.38;cursor:not-allowed;transform:none!important}

.contact-method{
  transform:none!important;
  padding-left:2px!important;
  padding-right:2px!important;
}
.contact-method:hover{
  transform:none!important;
  padding-left:2px!important;
  padding-right:2px!important;
  background:rgba(247,250,253,.58)!important;
}
.contact-method strong,.contact-method img,.contact-method .contact-external-icon{
  transition:color .28s ease,opacity .28s ease,filter .28s ease;
}
.contact-method:hover strong{color:#315eff}
.contact-method:hover img{filter:contrast(1.08);opacity:1}
.contact-method:hover .contact-external-icon{color:#315eff}
.contact-method:hover::after{border-color:#cfd8e4!important}

@media(max-width:720px){
  .finder-multi-actions{justify-content:stretch}
  .finder-multi-next{width:100%;justify-content:center}
  .finder-options button:hover .finder-option-copy{transform:none}
}

/* PATCH 014 */
/* Homepage transparent artwork: only selected-work imagery keeps an opaque scene background. */
.hero-media,
.world-media,
.home-theme-showcase .media-frame,
.home-event-teaser .event-media,
.home-finder-cta .media-frame{
  background:transparent!important;
  isolation:auto!important;
}
.hero-media img,
.home-theme-showcase .media-frame img,
.home-event-teaser .event-media img,
.home-finder-cta .media-frame img{object-fit:contain!important}

/* Slightly firmer silhouette edge before the existing soft glow. */
.world-media .world-character-image{
  filter:
    drop-shadow(1px 0 0 rgba(102,108,118,.42))
    drop-shadow(-1px 0 0 rgba(102,108,118,.42))
    drop-shadow(0 1px 0 rgba(102,108,118,.42))
    drop-shadow(0 -1px 0 rgba(102,108,118,.42))
    drop-shadow(0 0 6px rgba(150,156,166,.18))
    drop-shadow(0 18px 24px rgba(22,28,40,.08))!important;
}
.event-gift-image{
  filter:
    drop-shadow(1px 0 0 rgba(102,108,118,.38))
    drop-shadow(-1px 0 0 rgba(102,108,118,.38))
    drop-shadow(0 1px 0 rgba(102,108,118,.38))
    drop-shadow(0 -1px 0 rgba(102,108,118,.38))
    drop-shadow(0 0 8px rgba(150,156,166,.15))
    drop-shadow(0 24px 34px rgba(22,28,40,.08))!important;
}

/* Contact methods remain completely still. Hover only changes emphasis. */
.contact-method:hover{background:transparent!important}
.contact-method:hover::after{border-color:transparent!important}
.contact-method::after{border-color:transparent!important}

.booking-lite-card{background:linear-gradient(180deg,#f4f6f8 0%,#fff 100%)}
.event-page-hero{background:linear-gradient(180deg,#eef8ee 0%,#fff 100%)}
.event-page-visual{background:transparent!important;overflow:visible!important}
.event-page-visual img{object-fit:contain!important;filter:drop-shadow(0 22px 34px rgba(31,74,48,.09))}
.event-package-grid{grid-template-columns:repeat(3,1fr)}
.event-package-grid .featured{background:linear-gradient(180deg,#edf8ef 0%,#f9fcfa 100%)}
.event-private-panel{background:linear-gradient(180deg,#eef8ee 0%,#e9f4ec 100%)}
@media(max-width:1050px){.event-package-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.event-package-grid{grid-template-columns:1fr}.event-page-visual{width:calc(100% + 20px);margin-left:-10px}}
.event-page-visual img{
  filter:
    drop-shadow(1px 0 0 rgba(102,108,118,.38))
    drop-shadow(-1px 0 0 rgba(102,108,118,.38))
    drop-shadow(0 1px 0 rgba(102,108,118,.38))
    drop-shadow(0 -1px 0 rgba(102,108,118,.38))
    drop-shadow(0 0 8px rgba(150,156,166,.15))
    drop-shadow(0 24px 34px rgba(31,74,48,.09))!important;
}


/* PATCH-015 — logo integration, transparent home art, clickthrough media, footer/social polish */
.brand.brand-wordmark{gap:0!important}
.brand.brand-wordmark img{width:auto!important;height:24px!important;display:block;border-radius:0!important}
.site-footer .brand.brand-wordmark img{height:30px!important}
.brand.brand-wordmark:hover{opacity:.82}

.world-media-link,.event-media-link,.finder-preview-link{display:block;color:inherit}
.world-media-link .media-frame,.event-media-link .media-frame,.finder-preview-link .media-frame{cursor:pointer}

/* Home visuals float directly on sections */
.home-theme-showcase .media-frame,
.home-finder-cta .media-frame,
.home-event-teaser .media-frame,
.home-theme-showcase .feature-panel,
.home-finder-cta .feature-panel,
.home-event-teaser .event-panel,
.home-theme-showcase .feature-panel>.media-frame,
.home-finder-cta .feature-panel>.media-frame,
.home-event-teaser .event-panel>.media-frame,
.transparent-media{
  background:transparent!important;
}
.home-event-teaser .event-panel,
.home-theme-showcase .feature-panel,
.home-finder-cta .feature-panel{border-radius:0!important}
.home-event-teaser .event-panel>.media-frame,
.home-theme-showcase .feature-panel>.media-frame,
.home-finder-cta .feature-panel>.media-frame{border-radius:0!important;overflow:visible!important}

/* stronger stroke + subtle grey glow on home cutout art */
.world-character-image,
.event-gift-image,
.finder-preview-image{
  filter:
    drop-shadow(0 0 0.9px rgba(255,255,255,.98))
    drop-shadow(0 0 0.9px rgba(255,255,255,.98))
    drop-shadow(0 0 0.9px rgba(255,255,255,.98))
    drop-shadow(0 0 0.9px rgba(255,255,255,.98))
    drop-shadow(0 4px 12px rgba(119,128,145,.18));
}
.world-card:hover .world-character-image,
.event-media-link:hover .event-gift-image,
.finder-preview-link:hover .finder-preview-image{
  animation:characterWiggle .92s cubic-bezier(.22,.72,.18,1) both;
}
.finder-preview-frame{overflow:visible!important}
.finder-preview-image{width:min(100%,1060px)!important;max-width:none;display:block;margin-inline:auto}
.home-theme-frame{overflow:visible!important}
.home-theme-image{width:112%!important;max-width:none!important;display:block;margin-left:-6%;object-fit:contain!important;transform:none!important}
@media(max-width:780px){
  .home-theme-image{width:118%!important;margin-left:-9%}
}

/* Event teaser keeps flat premium slab rather than isolated rounded card */
.event-panel,.event-panel>.media-frame,.event-page-visual,.event-private-panel .media-frame{border-radius:0!important}
.event-panel{padding:0!important;background:transparent!important}
.event-panel .event-media img,.event-page-visual img,.event-private-panel img{object-fit:contain!important}

/* Contact social cards: no lift, no hover border frame; only text/icon emphasis */
.contact-method{
  border:1px solid transparent!important;
  box-shadow:none!important;
  transform:none!important;
  transition:color .28s ease, opacity .28s ease, background .28s ease!important;
}
.contact-method:hover,.contact-method:focus-visible{
  transform:none!important;
  border-color:transparent!important;
  box-shadow:none!important;
  background:transparent!important;
}
.contact-method:hover strong,.contact-method:hover small,
.contact-method:focus-visible strong,.contact-method:focus-visible small{color:#111!important}
.contact-method:hover img,.contact-method:focus-visible img,
.contact-method:hover .icon,.contact-method:focus-visible .icon{opacity:1}

/* Footer social buttons: one neat row on desktop, lighter hover */
.footer-socials{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(108px,1fr))!important;
  gap:10px!important;
  grid-column:1/-1!important;
  justify-content:start!important;
  width:min(100%,520px)!important;
  margin-top:10px!important;
}
.footer-social-link{
  width:100%!important;
  min-width:0!important;
  min-height:40px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  justify-content:flex-start!important;
  gap:10px!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.42)!important;
  border-color:rgba(17,17,19,.08)!important;
}
.footer-social-link:hover{
  transform:none!important;
  background:rgba(255,255,255,.66)!important;
  border-color:rgba(17,17,19,.14)!important;
}
.footer-social-link img,.footer-social-link .icon{margin-left:0!important;flex:0 0 18px}
.footer-social-link span{text-align:left!important}
.footer-small{align-self:start!important;padding-top:2px!important;margin-top:0!important}
@media(min-width:861px){
  .footer-bottom{
    grid-template-columns:minmax(240px,.9fr) minmax(340px,1.1fr) auto!important;
    grid-template-areas:'brand links small' 'brand socials small'!important;
    row-gap:16px!important;
    align-items:start!important;
  }
  .footer-brand{grid-area:brand!important}
  .footer-links{grid-area:links!important}
  .footer-socials{grid-area:socials!important}
  .footer-small{grid-area:small!important;justify-self:end!important;text-align:right!important;white-space:nowrap}
}
@media(max-width:860px){
  .footer-socials{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }
}

/* product family landing section now includes custom landing */
.price-family-start .price-list .price-row{align-items:center}

/* page heroes use provided art more like premium product visuals */
.page-hero .media-frame img[src$="landing-hero.webp"],
.page-hero .media-frame img[src$="corporate-hero.webp"],
.page-hero .media-frame img[src$="business-hero.webp"]{
  width:100%;height:auto;object-fit:contain!important;
}

/* keep footer / header separators subtle */
.site-header,.site-footer{border-color:rgba(17,17,19,.07)!important}

/* event teaser and questionnaire gift/readiness image should visibly feel clickable */
.event-media-link:hover .event-gift-image,.finder-preview-link:hover .finder-preview-image,.world-media-link:hover .world-character-image{cursor:pointer}


/* PATCH-016 — production visual audit */
/* Brand: keep the real mark, but pair it with the WebsiteDD name until the mark is established. */
.brand.brand-lockup{display:inline-flex!important;align-items:center!important;gap:9px!important;color:#111!important;font-weight:600!important}
.brand-symbol{display:block;flex:0 0 auto;width:32px;height:22px;background:currentColor;-webkit-mask:url('/assets/brand/logo-mark-mask.png') center/contain no-repeat;mask:url('/assets/brand/logo-mark-mask.png') center/contain no-repeat}
.brand-name{font-size:14px;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.site-footer .brand-symbol{width:38px;height:25px}.site-footer .brand-name{font-size:15px}
@media(max-width:360px){.site-header .brand-name{display:none}.site-header .brand-symbol{width:30px;height:21px}}

/* Hero product artwork: no ratio box crop, no baked media background, preserve original scale. */
.page-hero .media-frame:has(img[src$="landing-hero.webp"]),
.page-hero .media-frame:has(img[src$="corporate-hero.webp"]),
.page-hero .media-frame:has(img[src$="business-hero.webp"]){
  aspect-ratio:auto!important;
  overflow:visible!important;
  background:transparent!important;
  isolation:auto!important;
  width:min(100%,1120px)!important;
}
.page-hero img[src$="landing-hero.webp"],
.page-hero img[src$="corporate-hero.webp"],
.page-hero img[src$="business-hero.webp"]{
  display:block!important;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  max-width:none!important;
}
.page-hero .media-frame:has(img[src$="landing-hero.webp"]):hover img,
.page-hero .media-frame:has(img[src$="corporate-hero.webp"]):hover img,
.page-hero .media-frame:has(img[src$="business-hero.webp"]):hover img{transform:none!important}

/* Theme preview can breathe and gently zoom without crop. */
.home-theme-frame{overflow:visible!important;background:transparent!important}
.home-theme-image{transform:scale(1)!important;transform-origin:center center!important;transition:transform .72s cubic-bezier(.16,1,.3,1)!important;will-change:transform}
@media(hover:hover){.home-theme-frame:hover .home-theme-image{transform:scale(1.025)!important}}

/* Stable wiggle: remove the generic media hover-scale from cutout assets before running motion. */
.world-media-link .world-character-image,
.event-media-link .event-gift-image,
.finder-preview-link .finder-preview-image{
  transform:translate3d(0,0,0);
  transform-origin:50% 84%;
  will-change:transform;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transition:filter .35s ease!important;
  filter:
    drop-shadow(1px 0 0 rgba(95,101,112,.48))
    drop-shadow(-1px 0 0 rgba(95,101,112,.48))
    drop-shadow(0 1px 0 rgba(95,101,112,.48))
    drop-shadow(0 -1px 0 rgba(95,101,112,.48))
    drop-shadow(0 0 7px rgba(150,156,166,.18))
    drop-shadow(0 16px 24px rgba(22,28,40,.075))!important;
}
.world-card:hover .world-character-image{animation:none!important}
.world-media-link:hover .world-character-image,
.event-media-link:hover .event-gift-image,
.finder-preview-link:hover .finder-preview-image{
  transform:translate3d(0,0,0);
  animation:assetWiggle016 .78s cubic-bezier(.22,.72,.18,1) 1;
}
@keyframes assetWiggle016{
  0%{transform:translate3d(0,0,0) rotate(0deg)}
  24%{transform:translate3d(-2px,-5px,0) rotate(-.42deg)}
  50%{transform:translate3d(2px,-2px,0) rotate(.46deg)}
  74%{transform:translate3d(-1px,-3px,0) rotate(-.18deg)}
  100%{transform:translate3d(0,0,0) rotate(0deg)}
}
@media(prefers-reduced-motion:reduce){
  .world-media-link:hover .world-character-image,.event-media-link:hover .event-gift-image,.finder-preview-link:hover .finder-preview-image{animation:none!important}
}

/* Finder preview on home: larger and shifted toward the center/left on desktop. */
@media(min-width:1051px){
  .home-finder-cta .finder-preview-link{width:116%;margin-left:-15%;justify-self:start}
  .home-finder-cta .finder-preview-frame{width:100%!important}
  .home-finder-cta .finder-preview-image{width:108%!important;margin-left:-4%!important;max-width:none!important}
}
@media(max-width:1050px){.home-finder-cta .finder-preview-link{width:100%;margin-left:0}}

/* Event page second gift visual is a transparent cutout, not a colored media card. */
.event-private-flat{background:transparent!important;border-radius:0!important;padding-inline:0!important}
.event-private-flat .media-frame{background:transparent!important;overflow:visible!important;border-radius:0!important}

/* Contact social rows stay perfectly still; hover is text/icon emphasis only. */
.contact-method,.contact-method:hover,.contact-method:focus-visible{border-color:transparent!important;box-shadow:none!important;transform:none!important;background:transparent!important}
.contact-method::after,.contact-method:hover::after,.contact-method:focus-visible::after{display:none!important;content:none!important}
.contact-method:hover strong,.contact-method:focus-visible strong{color:#315eff!important}
.contact-method:hover small,.contact-method:focus-visible small{color:#666b73!important}

/* Copyright belongs with the top row, not visually below the social controls. */
@media(min-width:861px){.footer-small{align-self:start!important;margin-top:-4px!important;transform:none!important}}


/* PATCH-017 — Product Finder preview: tighter square composition */
.home-finder-cta .finder-preview-frame{
  aspect-ratio:1 / 1!important;
  overflow:visible!important;
}
.home-finder-cta .finder-preview-image{
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center!important;
}
@media(min-width:1051px){
  .home-finder-cta .finder-preview-link{
    width:112%!important;
    margin-left:-10%!important;
    justify-self:start!important;
    align-self:center!important;
  }
  .home-finder-cta .finder-preview-frame{
    width:100%!important;
    max-width:560px!important;
    margin-inline:auto!important;
  }
}
@media(max-width:1050px){
  .home-finder-cta .finder-preview-link{
    width:100%!important;
    margin-left:0!important;
  }
  .home-finder-cta .finder-preview-frame{
    width:min(100%,520px)!important;
    margin-inline:auto!important;
  }
}

/* PATCH-018 — footer desktop divider cleanup + low-end character performance */

/* Desktop footer: remove the short divider above nav; keep it on mobile where it separates sections well. */
@media(min-width:721px){
  .footer-links{
    border-top:0!important;
    padding-top:0!important;
    margin-top:0!important;
  }
}
@media(max-width:720px){
  .footer-links{
    border-top:1px solid rgba(17,17,19,.08)!important;
    padding-top:17px!important;
  }
}

/* Character section: avoid expensive blur/filter compositing while scrolling. */
.world-card.reveal{
  filter:none!important;
}
.world-card{
  will-change:auto!important;
}
.world-card:hover{
  transform:none!important;
}
.world-media .world-character-image,
.world-media-link .world-character-image{
  transform:none!important;
  will-change:auto!important;
  backface-visibility:visible!important;
  -webkit-backface-visibility:visible!important;
  transition:filter .24s ease!important;
  filter:
    drop-shadow(0 0 1px rgba(95,101,112,.56))
    drop-shadow(0 11px 15px rgba(22,28,40,.07))!important;
}

/* One transform-only animation, triggered by the whole card so hover does not depend on a child layer. */
.world-card:hover .world-character-image,
.world-media-link:hover .world-character-image{
  will-change:transform!important;
  animation:characterWiggle018 1.08s cubic-bezier(.45,.05,.28,1) infinite!important;
}
@keyframes characterWiggle018{
  0%,100%{transform:translate(0,0) rotate(0deg)}
  22%{transform:translate(-1.5px,-3px) rotate(-.32deg)}
  48%{transform:translate(1.6px,-1px) rotate(.34deg)}
  72%{transform:translate(-.8px,-2px) rotate(-.16deg)}
}
@media(prefers-reduced-motion:reduce){
  .world-card:hover .world-character-image,
  .world-media-link:hover .world-character-image{
    animation:none!important;
    will-change:auto!important;
  }
}


/* PATCH-019 — restore 3-character hover wiggle and update homepage visuals */
.world-media .world-character-image,
.world-media-link .world-character-image{
  transform:translate3d(0,0,0)!important;
  transition:transform .24s ease, filter .24s ease!important;
  will-change:auto!important;
}

.world-card:hover .world-character-image,
.world-media-link:hover .world-character-image{
  animation:characterWiggle019 1.02s cubic-bezier(.32,.04,.22,1) infinite!important;
  will-change:transform!important;
}

@keyframes characterWiggle019{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  18%{transform:translate3d(-1.5px,-4px,0) rotate(-0.38deg)}
  38%{transform:translate3d(1.9px,-1.4px,0) rotate(0.42deg)}
  58%{transform:translate3d(-0.8px,-3.2px,0) rotate(-0.2deg)}
  78%{transform:translate3d(0.9px,-1.2px,0) rotate(0.12deg)}
}

@media(prefers-reduced-motion:reduce){
  .world-card:hover .world-character-image,
  .world-media-link:hover .world-character-image{
    animation:none!important;
    transform:translate3d(0,0,0)!important;
    will-change:auto!important;
  }
}

/* Homepage hero/media refresh */
.hero-media picture,
.hero-media img{
  display:block;
}

.home-theme-image{
  width:116%!important;
  margin-left:-8%!important;
}
@media(max-width:780px){
  .home-theme-image{
    width:120%!important;
    margin-left:-10%!important;
  }
}


/* PATCH-020 — low-end character performance + working card hover */
.world-media-link{
  display:block!important;
  transform:translate3d(0,0,0);
  transform-origin:50% 82%;
  will-change:auto!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.world-media .world-character-image,
.world-media-link .world-character-image{
  animation:none!important;
  transform:translate3d(0,0,0)!important;
  will-change:auto!important;
  transition:none!important;
  filter:drop-shadow(0 0 1px rgba(88,94,104,.58))!important;
}
.world-card:hover .world-media-link,
.world-media-link:hover{
  animation:characterWiggle020 1.02s cubic-bezier(.32,.04,.22,1) infinite;
}
@keyframes characterWiggle020{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  18%{transform:translate3d(-1.5px,-4px,0) rotate(-.38deg)}
  38%{transform:translate3d(1.8px,-1.3px,0) rotate(.40deg)}
  58%{transform:translate3d(-.8px,-3px,0) rotate(-.19deg)}
  78%{transform:translate3d(.8px,-1px,0) rotate(.12deg)}
}
@media(prefers-reduced-motion:reduce){
  .world-card:hover .world-media-link,
  .world-media-link:hover{
    animation:none!important;
    transform:translate3d(0,0,0)!important;
  }
}

/* Journal production artwork */
.blog-thumb{background:#f4f5f7!important}
.blog-thumb img{
  width:100%;height:100%;display:block;object-fit:cover;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.blog-card-link:hover .blog-thumb img{transform:scale(1.018)}
.article-cover{overflow:hidden;background:#f4f5f7}
.article-cover-image{
  width:100%;height:auto;aspect-ratio:1672 / 941;
  object-fit:cover;display:block;
}
@media(max-width:720px){
  .blog-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:0 10px!important;
  }
  .blog-card{min-width:0}
  .blog-card-copy{padding-top:14px!important}
  .blog-card h2{
    font-size:clamp(18px,5.4vw,24px)!important;
    line-height:1.16!important;
  }
  .blog-card-copy>p:not(.blog-meta){
    font-size:12px!important;line-height:1.5!important;
  }
  .blog-card .text-link{font-size:12px!important}
}
@media(max-width:350px){
  .blog-grid{gap:0 8px!important}
  .blog-card h2{font-size:17px!important}
}
html,body{max-width:100%;overflow-x:clip}


/* PATCH-021 — commercial trust, care and handover content */
.purchase-confidence{padding:112px 0;background:#f5f5f7}
.purchase-confidence .trust-head{margin-bottom:44px}
.confidence-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}
.confidence-grid article{padding:28px 26px 30px;border-right:1px solid var(--hairline);min-width:0}
.confidence-grid article:first-child{padding-left:0}.confidence-grid article:last-child{border-right:0;padding-right:0}
.confidence-grid article>span{font-size:11px;color:#8e8e93}.confidence-grid h3{font-size:20px;letter-spacing:-.025em;margin:20px 0 10px;font-weight:600}.confidence-grid p{font-size:13px;line-height:1.65;color:#65656a;margin:0}
.trust-links{display:flex;gap:28px;flex-wrap:wrap;margin-top:28px}.trust-faq{background:#fff}.trust-faq .faq-list{max-width:980px}
.about-trust-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:28px}.about-trust-actions .text-link{margin:0}
.care-checklist{background:#f5f5f7}.care-checklist .principles-list{max-width:1100px;margin-inline:auto}
.handover-guide{max-width:900px}.handover-guide h2{margin-top:48px}.handover-callout{margin:28px 0;padding:24px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.handover-callout strong{font-size:18px}.handover-callout p{margin-bottom:0}
.handover-steps{list-style:none;padding:0;margin:28px 0;border-top:1px solid var(--hairline);counter-reset:handover}.handover-steps li{counter-increment:handover;display:grid;grid-template-columns:42px minmax(180px,.65fr) 1.35fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--hairline);align-items:start}.handover-steps li:before{content:counter(handover,decimal-leading-zero);font-size:11px;color:#8e8e93}.handover-steps strong{font-weight:600}.handover-steps span{color:#65656a;line-height:1.65}
.handover-checks{list-style:none;padding:0;margin:24px 0;border-top:1px solid var(--hairline)}.handover-checks li{padding:14px 0 14px 28px;border-bottom:1px solid var(--hairline);position:relative}.handover-checks li:before{content:"";width:7px;height:7px;border-radius:50%;background:#0071e3;position:absolute;left:2px;top:21px}
@media(max-width:1050px){.confidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.confidence-grid article:nth-child(2){border-right:0}.confidence-grid article:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.confidence-grid article:nth-child(odd){padding-left:0}.confidence-grid article:nth-child(even){padding-right:0}.handover-steps li{grid-template-columns:38px 1fr}.handover-steps li span{grid-column:2}}
@media(max-width:720px){.purchase-confidence{padding:76px 0}.confidence-grid{grid-template-columns:1fr}.confidence-grid article,.confidence-grid article:first-child,.confidence-grid article:last-child,.confidence-grid article:nth-child(odd),.confidence-grid article:nth-child(even){padding:22px 0;border-right:0;border-bottom:1px solid var(--hairline)}.confidence-grid article:last-child{border-bottom:0}.trust-links{display:grid;gap:14px}.about-trust-actions{align-items:flex-start;flex-direction:column}.handover-steps li{grid-template-columns:34px 1fr;gap:12px}.handover-guide h2{margin-top:38px}}
