/* Moka, clay and warm glass. Shared across the site and dedicated pages. */
:root{--paper:#f6f2ec;--ink:#403630;--muted:#73665c;--green:#59443b;--accent:#94644f;--accent-hover:#45322b;--line:#ded4ca}
.ui-icon{display:inline-block;width:1em;height:1em;vertical-align:middle;flex:none;overflow:visible}
.button .ui-icon,.text-link .ui-icon,.service-card-actions .ui-icon{width:19px;height:19px}
.tiny-spark .ui-icon,.small-star .ui-icon{width:1em;height:1em}
.expertise-strip .ui-icon{width:22px;height:22px}
.hero{background:#665447 url('/videos/hero-poster.jpg') center/cover no-repeat}
.hero-video{animation:none;object-position:center}
.hero-shade{background:linear-gradient(90deg,#251b17bd,#251b1730 68%,#251b1710),linear-gradient(0deg,#241b188a,transparent 58%)}
.hero h1 em{color:#edcfb4}.hero-credit{top:auto;bottom:30px;right:30px;writing-mode:initial;font-size:6px;opacity:.7}
.hero-motion{position:absolute;right:30px;top:125px;z-index:2;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;padding:0}
.hero-motion .ui-icon{width:16px;height:16px}
.hero.reduced-motion .hero-video{opacity:0}
.process-illustration{display:inline-grid;place-items:center;width:46px;height:46px;color:var(--accent);border:1px solid #cdb7a5;border-radius:12px;background:#fff6}
.process-illustration .ui-icon{width:25px;height:25px}
.process-line{margin-top:24px}.process-grid article{padding-left:0}
.booking-mode-symbol .ui-icon{width:24px;height:24px}
.cart-empty-symbol .ui-icon{width:55px;height:55px}.cart-payment-note .ui-icon{width:24px;height:24px}
.service-card-content>ul>li::before{content:'';top:.65em;width:5px;height:5px;border-left:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-45deg);color:#c9ad94}
.services{background:radial-gradient(ellipse at 95% 95%,#a6815b20,transparent 65%),#4d3d35}
.services h2 em{color:#d5baa2}.services .section-heading>p{color:#dbcdc1}
.button-dark:hover,.page-mode .header-cta:hover{background:var(--accent-hover)}
.palette>span:first-child{background:#6a5042}
.contact-form input,.contact-form textarea,.contact-form select,.booking-field input,.booking-field textarea,.booking-field select{accent-color:var(--green)}
@media(max-width:760px){
 html{scroll-padding-top:82px}
 .section-pad{padding:44px 20px}
 .section-label{padding-bottom:16px;margin-bottom:24px;gap:18px;font-size:9px}
 .section-label>span:last-child{font-size:7px;max-width:155px}
 .section-heading{margin-bottom:24px}
 h2,.intention h2,.studio-copy h2,.faq h2{font-size:clamp(33px,8.8vw,43px);line-height:1.06}
 .section-heading>p{font-size:12px;margin-top:15px;padding:0;line-height:1.75}
 .site-header,.site-header.scrolled{gap:9px;left:20px;right:20px}
 .site-header{top:24px}.site-header .brand>span{font-size:25px}.site-header .brand-symbol{width:27px;height:32px}
 .site-header .brand small{font-size:5.5px;letter-spacing:.14em}
 .site-header.scrolled{left:10px;right:10px;top:8px;padding:8px 12px}
 .site-header.scrolled .brand>span{font-size:23px}.site-header.scrolled .brand-symbol{width:25px;height:30px}
 .site-header .cart-link,.site-header .menu-toggle{width:44px;height:44px;flex-basis:44px}
 .hero{margin:6px;min-height:500px;height:72svh;max-height:640px;border-radius:5px}
 .hero-shade{background:linear-gradient(90deg,#241b17b0,#241b1724),linear-gradient(0deg,#241b18b3,transparent 65%)}
 .hero-copy{left:20px;right:18px;top:29%;max-width:none;transform:none}
 .hero-copy .eyebrow{font-size:7px;letter-spacing:.1em;margin-bottom:18px;line-height:1.7}
 .hero h1{font-size:clamp(40px,10.2vw,56px);line-height:1.02}
 .hero-description{font-size:12px;line-height:1.7;margin:18px 0 22px}
 .hero .button{min-height:46px;font-size:11px;padding-left:17px;gap:22px}
 .button-round{width:30px;height:30px}
 .hero-project{display:none}
 .hero-project img{width:52px;height:58px}.hero-project strong{font-size:18px;line-height:1.03}
 .hero-project small{font-size:5.5px;margin-bottom:5px}.hero-project .mini-link{font-size:7px;margin-top:6px;gap:12px}
 .hero-footer{left:20px;right:20px;bottom:19px;padding-top:13px;font-size:5.5px;gap:12px}
 .hero-footer-sub{font-size:7px;margin:4px 0 0 12px}.hero-footer>a{font-size:5.5px;gap:10px}
 .hero-credit{display:none}.hero-motion{top:92px;right:18px;width:36px;height:36px;min-height:36px}
 .expertise-strip{padding:16px 20px;min-height:70px;gap:8px 14px;font-size:8px}
 .intention-grid{gap:20px}.intention-copy p{font-size:12px;line-height:1.8;margin-bottom:13px}
 .intention-copy p:first-child{font-size:13px}.palette{margin-top:20px}.palette>span{width:20px;height:20px}.palette small{font-size:14px}
 .filter-row{margin-bottom:20px;gap:7px}.filter{font-size:9px;padding:8px 11px;min-height:38px}
 .project-grid{gap:24px}.project-image,.project-card:nth-child(2n) .project-image{height:auto;aspect-ratio:16/10}
 .project-meta{gap:8px;margin-top:12px}.project-meta h3{font-size:25px;line-height:1.05}.project-meta>span{font-size:6px}
 .project-card>p{font-size:9px}.image-badge{font-size:5.5px;padding:5px 8px;left:10px;top:10px}
 .projects-more{margin-top:25px}.projects-more>span{margin-top:12px}
 .studio{gap:28px;padding-top:48px;padding-bottom:44px}
 .studio .studio-visual{max-width:260px}.studio .portrait-label{padding:12px 14px;gap:13px;font-size:11px;margin-top:12px}
 .studio .portrait-label .small-star{font-size:25px}.studio .portrait-caption{font-size:8px;margin-top:11px}
 .studio-copy .eyebrow{margin-bottom:15px}.studio-copy h2{margin-bottom:20px}
 .studio-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;margin-top:11px}.studio-values{margin-top:18px;gap:7px}
 .signature{font-size:39px;margin-top:14px;gap:18px}
 .services .section-heading{margin-bottom:22px}.services .service-grid,.services .service-grid.pros{gap:18px}
 .service-filters{margin-bottom:20px;padding:4px}.service-filter{min-height:40px;padding:9px 12px;font-size:10px}
 .service-card-image{aspect-ratio:3}.service-image-label{font-size:8px;left:16px;bottom:11px}
 .service-card-content,.service-grid.pros .service-card-content{padding:19px 20px 12px}
 .service-card-content h3,.service-grid.pros .service-card-content h3{font-size:30px;margin-bottom:8px;line-height:1.05}
 .service-card-content .service-tagline{font-size:12px;line-height:1.65;margin-bottom:12px;min-height:0}
 .service-card-content .service-price,.service-grid.pros .service-card-content .service-price{font-size:43px;min-height:0;margin-bottom:13px;gap:2px 7px}
 .service-card-content .service-price>small,.service-card-content .service-price>span{font-size:10px}
 .service-card-content>ul{display:none}.service-card-content>ul>li{margin-bottom:4px}
 .service-card .service-reserve{min-height:44px;padding:9px 14px;font-size:12px}.service-card-actions{gap:2px}
 .service-card .service-card-actions .service-details-link{font-size:11px;min-height:40px;padding:7px 0}
 .services-note{font-size:10px;line-height:1.8;margin-top:18px}
 .process-grid{gap:22px}.process-grid article{padding:0 0 0 51px;position:relative;min-height:44px}
 .process-illustration{position:absolute;left:0;top:1px;width:36px;height:36px;border-radius:10px}
 .process-illustration .ui-icon{width:21px;height:21px}.process-grid h3{font-size:27px;margin-bottom:9px}.process-grid p{font-size:12px;line-height:1.75}
 .image-interlude{margin:0 6px;height:330px;padding:20px}.interlude-card{padding:20px;max-width:290px}
 .interlude-card p{font-size:31px;margin:16px 0}.image-interlude>small{top:14px}
 .faq{gap:23px}.faq h2{margin:15px 0}.faq>div>p:not(.eyebrow){font-size:12px}
 .faq details{padding:17px 0}.faq summary{font-size:12px;gap:16px}.faq details p{font-size:12px;line-height:1.8;padding-right:0}
 .contact{gap:24px}.contact h2{font-size:46px}.contact-copy>.eyebrow{margin-bottom:17px}
 .contact-copy>p:not(.eyebrow){font-size:12px;line-height:1.8}.contact-email{font-size:14px;margin-top:18px}.contact-location{font-size:8px;margin-top:15px}
 .contact-form{padding:22px 18px}.form-title{font-size:25px;margin-bottom:20px}.contact-form label{font-size:11px}
 .contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea,
 .cart-quantity input,.cart-request-form input:not([type=checkbox]),.cart-request-form textarea,
 .form-result textarea,.booking-field input,.booking-field select,.booking-field textarea{font-size:16px;min-width:0;max-width:100%}
 .contact-form input::placeholder,.contact-form textarea::placeholder{font-size:13px}.form-note{font-size:10px}
 .site-footer{padding:35px 20px 20px}.footer-top{gap:25px 16px}.footer-brand{font-size:40px}.footer-top>div{font-size:10px}
 .footer-bottom{font-size:8px;gap:16px}.footer-bottom>div{gap:13px}
 .mobile-nav{padding:115px 6vw 45px;gap:16px}.mobile-nav>a{font-size:35px;padding-bottom:12px;min-height:50px}
 .page-mode .site-header,.page-mode .site-header.scrolled{width:calc(100% - 40px);padding-top:20px;margin-bottom:13px}
 .page-mode .about-page{padding-top:16px}.about-page{padding-left:20px;padding-right:20px}
 .about-breadcrumb{padding-bottom:16px;font-size:12px}.about-opening{padding:28px 0 36px;gap:28px}
 .about-title{font-size:54px;margin-bottom:21px}.about-eyebrow{margin-bottom:15px}.about-paragraph{font-size:14px;line-height:1.8;margin-bottom:17px}
 .about-signature{font-size:42px;margin-top:19px}.about-portrait{max-width:260px}
 .about-story{padding:35px 0;gap:23px}.about-story-title{font-size:41px}.about-story-copy .about-paragraph:first-child{font-size:17px}
 .about-contact{padding:35px 0 40px;gap:22px}.about-contact-title{font-size:39px}
 .booking-shell{padding:20px 20px 48px}.booking-breadcrumb{margin-bottom:23px;font-size:11px}.booking-heading{margin-bottom:25px}
 .booking-heading h1{font-size:42px;margin:15px 0 18px}.booking-heading>p:last-child{font-size:12px;line-height:1.75}
 .booking-steps{margin-bottom:25px}.booking-steps li{padding:13px 0;font-size:10px}
 .booking-block{margin-bottom:24px;padding-bottom:24px}.booking-block-heading{margin-bottom:17px}.booking-block h2{font-size:29px}
 .booking-field{margin-bottom:18px}.booking-extras{margin-top:20px}.booking-extras>legend{font-size:25px;margin-bottom:14px}
 .booking-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .booking-mode{padding:15px 9px 11px;min-height:101px}.booking-mode-symbol{position:static;display:block;margin:0 0 10px}
 .booking-mode-symbol .ui-icon{width:21px;height:21px}.booking-mode input{right:7px;top:10px}
 .booking-mode strong{font-size:10px;margin-bottom:0;line-height:1.6}.booking-mode small{display:none}
 .booking-summary-content{padding:20px}.booking-summary h2{font-size:30px}.booking-summary>img{max-height:160px}
 .cart-page{padding:22px 20px 48px}.cart-heading{margin:25px 0}.cart-heading h1{font-size:51px;margin:13px 0}
 .cart-summary{padding:22px}.cart-summary h2{font-size:31px;margin:15px 0 18px}.cart-empty{padding:35px 20px}.cart-empty h2{font-size:37px}
 .cart-request-form{padding:22px 18px}.cart-request-form h3{font-size:29px}
 .detail-dialog{max-height:92svh}.dialog-cover{height:180px}.dialog-body{padding:24px 20px}.dialog-body h2{font-size:35px}
 .gallery-image{height:210px}.service-detail-side{padding:19px}.legal-page h1{font-size:38px}
}
@media(max-width:360px){.hero{min-height:500px}.hero h1{font-size:36px}.hero-copy{top:28%}.site-header .brand>span{font-size:22px}.site-header .brand-symbol{width:24px}.site-header .brand small{font-size:5px}.service-filter{font-size:9px;padding-left:9px;padding-right:9px}.booking-mode strong{font-size:9px}.about-title{font-size:49px}.contact-email{font-size:13px}}
@media(prefers-reduced-motion:reduce){.hero-video{opacity:0}.hero-motion{display:none!important}}
