/* Shared editorial design system — local routes, warm paper, precise type. */
.design-live{--ink:#2f4858;--paper:#faf9f5;--accent:#b97952;--section-tint:#e8f2ec;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.75}
.design-live[data-design=shop]{--section-tint:#e1f1e8;--accent:#477360}
.design-live[data-design=local]{--section-tint:#f3e7dc;--accent:#a16a45}
.design-live[data-design=knowledge]{--section-tint:#e9efe5;--accent:#597652}
.design-live h1,.design-live h2{text-wrap:balance}.design-live h3{letter-spacing:-.035em;line-height:1.23}.design-live p{text-wrap:pretty}
.design-live .eyebrow{font-size:10px;letter-spacing:.17em;line-height:1.6;font-weight:800;display:flex;gap:11px;align-items:center}
.design-live .eyebrow:before{content:'';width:20px;height:1px;background:currentColor;opacity:.55;flex:none}
.design-live .concept{font-size:9px;letter-spacing:.08em;background:#e6eee8;padding:5px 18px;color:#576c60;border:0}
.design-live .wrap>header{min-height:98px;gap:28px;border-bottom:1px solid #2f485819}
.design-live header .logo{font-size:21px}.design-live .logomark{border-width:1.5px;border-radius:10px;background:#ddfbef}
.design-live header nav{gap:27px;font-size:12px}.design-live header>.button{border-radius:99px;font-size:12px;padding:13px 20px;background:#2f4858;color:#fff}
.design-live .button{border-radius:99px;padding:15px 23px;font-size:13px;line-height:1.5;gap:24px;box-shadow:none;transition:background .25s,color .25s,transform .3s cubic-bezier(.2,.8,.2,1)}
.design-live .button:hover{transform:translateY(-2px);box-shadow:none;background:#466655;color:#fff;border-color:#466655}
.design-live .textlink,.design-live .editorial-link{text-decoration-thickness:1px;text-underline-offset:6px}
.design-live .hero,.design-live .page-hero{position:relative;isolation:isolate}
.brand-atmosphere{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden;color:#83a495}
.brand-atmosphere svg{width:100%;height:100%;position:absolute;inset:0;opacity:.38}
.city-route{stroke-width:1.2;stroke-dasharray:5 10;animation:studio-route 48s linear infinite}.route-secondary{animation-direction:reverse;opacity:.45}
.route-orbit{stroke-width:.7;stroke-dasharray:4 12;transform-origin:1080px 360px;animation:studio-orbit 80s linear infinite;opacity:.55}
.route-lights{animation:studio-lights 7s ease-in-out infinite}
.atmosphere-glow{position:absolute;width:550px;height:550px;border-radius:50%;background:radial-gradient(circle,#ddfbef88,transparent 68%);animation:studio-drift 20s ease-in-out infinite;opacity:.65}
.glow-one{top:-250px;left:-150px}.glow-two{right:-90px;bottom:-270px;background:radial-gradient(circle,#f4ad8266,transparent 68%);animation-delay:-10s}
.design-live .hero .brand-atmosphere{color:#d0f0de}.design-live .hero .brand-atmosphere svg{opacity:.13}.design-live .hero .atmosphere-glow{opacity:.1}
.design-live .hero .hero-grid,.design-live .hero .hero-foot{position:relative;z-index:1}
.design-live .page-hero{padding:62px 0 45px;min-height:650px;gap:65px;background:var(--section-tint);box-shadow:0 0 0 100vmax var(--section-tint);clip-path:inset(0 -100vmax)}
.design-live .page-hero>.brand-atmosphere{inset:0 -6vw}
.design-live .page-hero>div:not(.brand-atmosphere){position:relative;z-index:1;padding:15px 0}
.design-live .page-hero h1{font-size:clamp(46px,4.8vw,74px);line-height:1.06;letter-spacing:-.035em;max-width:650px}
.design-live .page-hero h1 em{color:#5c796a}.design-live .page-hero .intro{font-size:16px;line-height:1.85;max-width:490px;color:#526873;margin-top:26px}
.design-live .page-hero .hero-note{font-size:10px;letter-spacing:.035em;border-top:1px solid #2f485822;padding-top:19px;margin-top:28px;max-width:440px}
.design-live .page-hero figure{padding:0 0 34px;max-width:540px;justify-self:end}
.design-live .page-hero figure:before,.design-live .page-hero figure:after{display:none}
.design-live .page-hero figure>img,.design-live .page-character-plane{border:8px solid #ffffffb3;border-radius:22px;overflow:hidden;box-shadow:0 28px 58px -32px #2f48584a}
.design-live .page-hero .page-character-plane img{border-radius:14px}.design-live .page-character-plane .portrait-video{border-radius:14px}
.design-live .art-caption{font-size:10px;letter-spacing:.02em;border:0;border-radius:7px;box-shadow:0 8px 20px #2f485810;bottom:14px;left:-15px;padding:12px 17px}
.design-live .animated-portrait .art-caption{bottom:66px}
.design-live .portrait-control{font-size:10px;opacity:.8;transition:opacity .2s}.design-live .portrait-control:hover{opacity:1}
.design-live .page-guide{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;align-items:center;gap:30px;padding:24px 0;border-bottom:1px solid #2f485822;font-size:11px}
.page-guide>span{font-size:11px;color:#657970}.page-guide a{display:flex;gap:12px;text-decoration:none;color:#788b80;align-items:center}.page-guide b{font-weight:600;color:#2f4858}.page-guide i{font-style:normal;margin-left:auto;color:#2f4858}.page-guide a:hover b{color:#9a5e39}
.design-live:not(.home-experience) .cinematic-story{margin-top:48px}
.design-live .story-sticky{border:0;background:#e8f2eb;border-radius:18px;padding:45px;gap:50px}
.design-live .story-copy h2{font-size:clamp(34px,3.5vw,49px);line-height:1.12}
.design-live .story-ready.cinematic-story{height:145vh}.design-live .story-ready .story-sticky{min-height:620px;max-height:88vh}
.design-live .story-paused.cinematic-story{height:auto}.design-live .story-paused .story-sticky{max-height:none;min-height:0}
.design-live .story-steps{margin-top:24px}.design-live .story-steps li{padding:11px 0}.design-live .story-copy>p:not(.eyebrow){font-size:14px;line-height:1.8}
.design-live .visual-journey{margin-top:50px;background:transparent;border:0;border-top:1px solid #2f485826;border-bottom:1px solid #2f485826;border-radius:0;padding:30px 0 36px}
.design-live .visual-journey li>div{background:var(--paper)}.design-live .visual-journey .journey-heading{padding-bottom:20px;border:0}.design-live .visual-journey h2{font-family:Manrope,system-ui,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.04em}
.design-live .section{margin-top:75px}.design-live .sectionhead{margin-bottom:35px}.design-live .sectionhead h2{font-size:clamp(34px,3.5vw,49px);line-height:1.12;max-width:770px}.design-live .sectionhead>p{font-size:14px}
.design-live .info-card{padding:30px 26px;background:#f0f3eb;border:0;border-radius:4px 22px 4px 4px}.design-live .info-card:nth-child(2){background:#f5e7da}.design-live .info-card:nth-child(3){background:#e4eee7}
.design-live .info-card .number{background:transparent!important;color:#2f4858!important;width:auto;height:auto;display:block;font-family:'GC Commune',Georgia,serif;font-size:42px;margin-bottom:35px;opacity:.62}
.design-live .info-card h3{font-size:23px}.design-live .info-card p{font-size:14px;line-height:1.85;margin-top:16px}
.design-live .pack{border:1px solid #d6e2d9;border-radius:14px;box-shadow:none}.design-live .pack ul{font-size:13px;line-height:1.8}.design-live .pack h3{font-size:24px}
.design-live .quote-panel{background:#2f4858;color:#ddfbef;border-radius:16px;padding:45px;gap:65px}.design-live .quote-panel p{color:#dae7e1}.design-live .quote-panel .quote-price{font-family:'GC Commune',Georgia,serif;font-size:52px;font-weight:400}.design-live .quote-panel .button{background:#f4ad82;color:#2f4858;border-color:#f4ad82}
.design-live .campaign-card{background:#fff;border:0;border-radius:12px;box-shadow:none}.design-live .campaign-card img{aspect-ratio:1.08;object-fit:cover}.design-live .campaign-card h3{font-size:25px}.design-live .campaign-card a{font-size:12px}
.design-live .editorial-content{background:#eaf1e9;box-shadow:0 0 0 100vmax #eaf1e9;clip-path:inset(0 -100vmax);border:0;padding:65px 0;margin-top:75px;gap:80px}.design-live .editorial-heading h2{font-size:42px;line-height:1.16}.design-live .editorial-articles p{font-size:14px;line-height:1.95;max-width:68ch}
.design-live .related-pages{margin-top:65px}.design-live .related-pages>div{gap:0 45px}.design-live .related-pages>div>a{border:0;border-bottom:1px solid #cbd9cd;border-radius:0;background:transparent!important;padding:26px 40px 26px 0}.design-live .related-pages>div>a:hover{translate:3px 0}.design-live .related-pages a>span{font-size:17px}
.design-live .contact{position:relative;margin-top:80px;background:#dfefe4;border:0;border-radius:18px;padding:50px 55px;gap:60px}.design-live .contact h2{font-size:clamp(36px,4vw,56px)}.design-live .contact>div>p{font-size:15px;max-width:620px}.design-live .contactaside{flex:0 0 210px;font-size:12px}.design-live .contact-portrait{border-radius:12px;width:190px;box-shadow:none}
.design-live .knowledge-tools{padding:30px;background:#e6efe6;border-radius:12px;align-items:center;gap:22px}.design-live .knowledge-tools label{flex:1;min-width:240px;font-size:11px}.design-live .knowledge-tools input{border:1px solid #b9cdbf;padding:15px 18px;border-radius:6px;margin-top:6px}.design-live .knowledge-filters{flex:1.2}.design-live .knowledge-filters button{font-size:12px;border-color:#c1d2c4;padding:9px 14px}.design-live .answer-list{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-top:25px}.design-live .answer-list details{padding:26px;background:#fff;border:1px solid #dbe4da;border-radius:10px}.design-live .answer-list details[open]{background:#eef5ed;border-color:#afc8b2}.design-live .answer-list summary{font-size:19px;padding-right:26px;list-style:none;position:relative;cursor:pointer}.design-live .answer-list summary::-webkit-details-marker{display:none}.design-live .answer-list summary:after{content:'+';position:absolute;right:0;top:25px;font-size:25px;font-weight:400}.design-live .answer-list details[open]>summary:after{content:'−'}.design-live .article-category{font-size:9px;letter-spacing:.14em;margin-bottom:12px;color:#658169}.design-live .answer{font-size:14px;line-height:1.85}.design-live .editor-note{border-radius:8px;border:0;background:#f3e9de;padding:24px;max-width:none}
.design-live .wrap>.studio-footer{display:block;margin-top:85px;padding-top:40px;border-top:1px solid #2f485822;color:#2f4858}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;align-items:start}.footer-top p{font-size:13px;color:#66776c}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;font-size:12px;margin:0}.footer-top nav a{padding:0!important;text-decoration:none}.footer-word{font-family:'GC Commune',Georgia,serif;font-size:clamp(100px,17vw,240px);line-height:1;letter-spacing:-.05em;color:#bbcec1;margin-top:40px;overflow:hidden}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #2f485822;padding:22px 0 40px;font-size:10px;color:#5d7065}.footer-bottom a{text-underline-offset:4px}
.menu-toggle{display:none}
.studio-arrival{transition:opacity .8s ease,translate 1s cubic-bezier(.16,1,.3,1)}.studio-arrival.studio-waiting{opacity:0;translate:0 24px}
.studio-outside .brand-atmosphere *{animation-play-state:paused!important}.motion-off .studio-arrival{opacity:1;translate:none}.motion-tab-hidden .brand-atmosphere *{animation-play-state:paused!important}
@keyframes studio-route{to{stroke-dashoffset:-300}}@keyframes studio-orbit{to{transform:rotate(360deg)}}@keyframes studio-lights{50%{opacity:.25}}@keyframes studio-drift{50%{transform:translate(75px,45px) scale(1.1)}}
@media(min-width:1700px){.design-live .hero{padding-block:65px 30px}.design-live .hero h1{font-size:clamp(74px,4.2vw,104px)}}
@media(max-width:1100px){.design-live .wrap>header{gap:18px}.design-live header nav{gap:17px}.design-live .page-hero{gap:36px;min-height:0}.design-live .page-hero h1{font-size:56px}.design-live .page-guide{gap:17px}.design-live .page-guide>span{font-size:10px}.design-live .story-sticky{padding:34px;gap:25px}.design-live .contact{padding:36px}.footer-top{gap:25px}.design-live .editorial-content{gap:45px}}
@media(max-width:760px){
 .design-live .wrap>header{min-height:82px;display:flex;flex-wrap:wrap;padding-block:17px;position:relative}.design-live header .logo{font-size:19px}.design-live header .logo small{font-size:8px;letter-spacing:2px}.design-live header>.button{display:none}
 .design-live .menu-toggle:not([hidden]){display:flex;margin-left:auto;align-items:center;gap:13px;font:600 12px Manrope,system-ui;background:transparent;border:1px solid #c7d7cb;border-radius:99px;padding:10px 14px;color:#2f4858}.menu-toggle span{font-size:16px}
 .design-live header #site-navigation{width:100%;margin:0;gap:0;display:flex;flex-wrap:wrap;padding-top:8px}.design-live header #site-navigation a{font-size:13px;width:50%;padding:11px 0}.design-live header #site-navigation[hidden]{display:none}
 .design-live .page-hero{grid-template-columns:1fr;padding:35px 0 30px;gap:25px}.design-live .page-hero h1{font-size:clamp(40px,10.5vw,60px)}.design-live .page-hero .intro{font-size:15px}.design-live .page-hero figure{max-width:440px;justify-self:center;padding-bottom:28px}.design-live .page-hero .hero-note{font-size:10px;margin-top:22px}.design-live .page-hero figure>img,.design-live .page-character-plane{border-width:5px}
 .design-live .page-guide{grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 0}.page-guide>span{display:none}.page-guide a{font-size:9px;gap:5px;flex-wrap:wrap}.page-guide b{font-size:10px}.page-guide i{display:none}
 .design-live .story-ready.cinematic-story{height:auto}.design-live .story-ready .story-sticky{min-height:0;max-height:none;position:relative;top:0;padding:28px 22px;grid-template-columns:1fr;gap:30px}.design-live .story-copy h2{font-size:35px}
 .design-live .visual-journey{padding:25px 0}.design-live .section{margin-top:50px}.design-live .sectionhead h2{font-size:35px}.design-live .info-card{padding:24px}.design-live .info-card .number{font-size:33px;margin-bottom:20px}
 .design-live .quote-panel{padding:28px;gap:30px}.design-live .editorial-content{grid-template-columns:1fr;padding-block:45px;gap:30px;margin-top:50px}.design-live .editorial-heading h2{font-size:34px}.design-live .related-pages>div{grid-template-columns:1fr}.design-live .related-pages{margin-top:45px}
 .design-live .contact{margin-top:50px;padding:28px;gap:30px}.design-live .contact h2{font-size:37px}.design-live .contactaside{flex:auto}.design-live .contact-portrait{width:150px}.design-live .contact>div>p{font-size:14px}
 .design-live .knowledge-tools{padding:20px;gap:20px}.design-live .knowledge-filters{flex:auto}.design-live .answer-list{grid-template-columns:1fr;gap:12px}.design-live .answer-list details{padding:22px}.design-live .answer-list summary{font-size:18px}
 .footer-top{grid-template-columns:1fr 1fr;gap:25px}.footer-top>.logo{grid-column:1/-1}.footer-top nav{grid-template-columns:1fr;gap:10px}.footer-word{font-size:clamp(85px,25vw,160px);margin-top:30px}.footer-bottom{flex-wrap:wrap;font-size:9px;gap:12px}.design-live .wrap>.studio-footer{margin-top:55px}.design-live .motion-switch{font-size:10px;bottom:10px;right:10px;padding:8px 11px}
 .atmosphere-glow{width:350px;height:350px}.brand-atmosphere svg{opacity:.24}
}
@media(prefers-reduced-motion:reduce){.brand-atmosphere *{animation:none!important}.studio-arrival{opacity:1!important;translate:none!important;transition:none}.design-live .button:hover{transform:none}}

/* Keep full-bleed decoration from creating a sideways scrollbar. */
html{overflow-x:clip}
.design-live{overflow-x:clip}

/* Compact local footer: a small illuminated street, no oversized wordmark. */
.design-live .wrap>.studio-footer{background:#2f4858;color:#ddfbef;border:0;border-radius:22px 22px 0 0;padding:48px 44px 0;margin-top:65px}
.studio-footer .footer-top{grid-template-columns:1.1fr 1.2fr .8fr;gap:38px;align-items:center}
.studio-footer .logo{color:#ddfbef;font-size:19px}.studio-footer .logomark{color:#2f4858;background:#ddfbef;border-color:#ddfbef}.studio-footer .logo small{color:#c0d6ce}
.studio-footer .footer-brand p{font-size:16px;line-height:1.6;color:#e4eee9;margin:24px 0 16px}
.footer-location{font-size:10px;color:#bed0c9;display:flex;align-items:center;gap:8px}.footer-location i{width:6px;height:6px;border-radius:50%;background:#f4ad82}
.studio-footer .footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:28px;font-size:13px;align-self:start;padding-top:8px}.footer-label{display:block;font-size:9px;letter-spacing:.12em;color:#aec6bc;margin-bottom:20px;font-weight:600}
.studio-footer .footer-top nav a{display:flex;justify-content:space-between;gap:18px;color:#ddfbef;padding:7px 0!important;line-height:1.6}.studio-footer .footer-top nav a span{color:#f4ad82;transition:transform .25s}.studio-footer .footer-top nav a:hover span{transform:translate(3px,-3px)}.studio-footer .footer-top nav a:hover{color:#f4ad82}
.footer-neighborhood svg{width:100%;display:block}.footer-neighborhood>span{display:block;text-align:center;font-size:10px;color:#bed0c9;margin-top:10px;letter-spacing:.025em}
.studio-footer .footer-bottom{border-top:1px solid #ddfbef26;color:#b6ccc2;margin-top:35px;padding:21px 0 25px;font-size:10px;align-items:center}.studio-footer .footer-bottom a{color:#ddfbef;text-decoration:none}
.footer-windows{animation:footer-window 8s ease-in-out infinite}@keyframes footer-window{0%,100%{opacity:.45}50%{opacity:1}}
.motion-off .footer-windows,.motion-tab-hidden .footer-windows{animation-play-state:paused}
@media(max-width:1000px){.studio-footer .footer-top{grid-template-columns:1fr 1fr}.footer-neighborhood{display:none}}
@media(max-width:600px){.design-live .wrap>.studio-footer{padding:30px 24px 0;border-radius:16px 16px 0 0;margin-top:45px}.studio-footer .footer-top{grid-template-columns:1fr;gap:25px}.studio-footer .footer-top nav{grid-template-columns:1fr 1fr;gap:20px}.studio-footer .footer-brand p{margin:20px 0 12px}.footer-neighborhood{display:block;max-width:210px;margin:0 auto;width:100%}.studio-footer .footer-bottom{margin-top:24px;font-size:9px;gap:12px}.studio-footer .footer-bottom a{width:100%;padding-top:5px}}
@media(prefers-reduced-motion:reduce){.footer-windows{animation:none}}
/* Six service destinations, kept readable in the compact footer. */
.studio-footer .footer-top{grid-template-columns:.95fr 1.75fr .7fr;gap:32px}.studio-footer .footer-top nav{grid-template-columns:.75fr 1.3fr 1fr;gap:24px}.studio-footer .footer-top nav a{font-size:12px}.studio-footer .footer-top nav a span{flex:none}
@media(max-width:1100px){.studio-footer .footer-top{grid-template-columns:1fr 1.6fr}.footer-neighborhood{display:none}}
@media(max-width:760px){.studio-footer .footer-top{grid-template-columns:1fr}.studio-footer .footer-top nav{grid-template-columns:1fr 1fr}.studio-footer .footer-top nav>div:last-child{grid-column:1/-1}.footer-neighborhood{display:block;max-width:210px;margin:auto;width:100%}}
