:root{--paper:#f8f7f3;--ink:#222722;--muted:#777b73;--yellow:#eedf36}body{background:var(--paper)}.skip-link{position:fixed;top:-100px;left:20px;z-index:99;background:white;padding:16px}.skip-link:focus{top:10px}.site-header{height:104px;background:var(--paper);border:0;padding:10px 4%}.site-header nav{gap:27px;font-size:13px}.brand img{width:78px;height:78px}.button{border-radius:40px;padding:17px 26px;font-size:13px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.menu-toggle{display:none}.portfolio-hero{display:grid;grid-template-columns:1fr 1.12fr;gap:4%;padding:30px 4% 48px;align-items:stretch}.hero-copy{padding:32px 0 5px}.hero-copy h1{font-size:clamp(44px,4.8vw,80px);font-weight:500;letter-spacing:-4px;line-height:1.04;margin:25px 0}.hero-copy h1 em{font-family:Georgia,serif;font-style:italic;font-weight:400;color:#75836d;letter-spacing:-3px}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#697063}.hero-actions{display:flex;align-items:center;gap:25px;margin:28px 0 36px}.hero-actions .text-link{font-size:12px}.hero-caption{display:flex;gap:20px;font-size:10px;color:#767d71}.hero-photo{min-height:470px;position:relative;border-radius:14px;overflow:hidden;background:#333;isolation:isolate}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;transform:scale(1.04);transition:transform 1s}.hero-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#0009);z-index:0}.hero-photo:hover>img{transform:scale(1.1)}.hero-photo-label{position:absolute;bottom:28px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;color:white;z-index:2;font-size:9px;letter-spacing:2px;line-height:2}.hero-photo-label strong{font-size:20px;letter-spacing:0;font-weight:500}.hero-photo-label>span:last-child{font-size:30px}.hero-360{position:absolute;top:24px;right:24px;color:white;border:1px solid #fff9;border-radius:50%;width:70px;height:70px;display:grid;place-items:center;font-size:21px;backdrop-filter:blur(8px)}.viewfinder{position:absolute;width:55%;height:50%;inset:22% auto auto 22%;border:1px solid #ffffff50;border-radius:45%;pointer-events:none}.intro-strip{padding:22px 4%;border-top:1px solid #dedfd5;border-bottom:1px solid #dedfd5;display:flex;justify-content:space-between;font-size:12px;color:#71786b}.portfolio-section{padding:65px 4%}.gallery-heading h2{font-size:clamp(28px,3.1vw,46px);letter-spacing:-1.6px;font-weight:500}.eyebrow{font-size:10px;letter-spacing:1.9px}.filters{margin:30px 0 14px;gap:7px}.filter{font-size:12px;padding:11px 16px;background:transparent}.filter.active{background:#333e31}.result-count{margin:18px 0 23px;font-size:11px}.project-grid{gap:36px 24px}.card-image{border-radius:10px;aspect-ratio:1.6}.card-info{padding:17px 1px}.card-info h3{font-size:22px;line-height:1.22;margin-bottom:10px;letter-spacing:-.6px}.card-info p{font-size:9px;letter-spacing:1.4px;line-height:1.6}.visit{font-size:11px}.card-arrow{width:40px;height:40px}.badge{top:15px;left:15px;background:#ffffffec;color:#253222;backdrop-filter:none;padding:8px 12px;font-size:11px}.badge span{font-size:8px}.project-card:focus-visible{outline:2px solid #546d48;border-radius:10px}.portfolio-cta{margin:20px 4% 55px;padding:50px;background:#e9ecdf;border-radius:15px;display:grid;grid-template-columns:1fr 1fr;gap:15px 60px;align-items:center}.portfolio-cta>.eyebrow{grid-column:1/-1}.portfolio-cta h2{font-size:clamp(35px,4.5vw,65px);margin:0}.portfolio-cta>div{justify-self:end}.portfolio-cta p{line-height:1.7}.page-intro{padding:60px 4% 20px}.detail-wrap{max-width:1400px}.detail-wrap h1{font-weight:500}.tour-view{aspect-ratio:1.9;border-radius:13px}.tour-view>img{filter:brightness(.5)}.tour-overlay h2{font-size:30px}.project-description h2{font-weight:500}.variant-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.variant{border:1px solid #ccd1c4;background:none;border-radius:30px;padding:12px 20px}.variant[aria-pressed=true]{background:var(--ink);color:white}.tour-stop{margin-top:12px;background:none;border:0;text-decoration:underline;font-size:12px}.intro-strip+section{scroll-margin-top:20px}footer{border-top:1px solid #dfe1d7;padding:30px 4%;line-height:1.8}.hero-photo>img{will-change:transform}@media(min-width:1700px){.portfolio-hero,.portfolio-section,.site-header,.intro-strip,footer{padding-left:max(4%,calc((100vw - 1550px)/2));padding-right:max(4%,calc((100vw - 1550px)/2))}}@media(max-width:1050px){.hero-copy h1{letter-spacing:-2px;font-size:50px}.hero-caption{flex-wrap:wrap;gap:10px}.hero-actions{flex-wrap:wrap;gap:18px}.hero-photo{min-height:450px}.site-header nav{gap:17px}.card-info h3{font-size:19px}}@media(max-width:800px){.portfolio-hero{grid-template-columns:1fr;padding-top:5px;gap:25px}.hero-copy{padding-top:15px}.hero-copy h1{font-size:54px}.hero-photo{min-height:330px}.hero-caption{display:none}.hero-actions{margin-bottom:0}.site-header{height:86px}.brand img{width:65px;height:65px}.site-header nav{display:none}.menu-toggle{display:block;border:1px solid #cbd0c2;border-radius:30px;background:none;padding:11px 17px}.site-header.menu-open nav{display:flex;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:25px 4%;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px #0001}.site-header.menu-open nav>a{display:block}.intro-strip{font-size:10px;gap:20px}.portfolio-section{padding-top:42px}.project-grid{gap:24px 16px}.gallery-heading h2{font-size:31px}.filters{margin-top:22px}.portfolio-cta{padding:28px;grid-template-columns:1fr}.portfolio-cta>div{justify-self:start}.portfolio-cta h2{font-size:42px}.detail-wrap{padding-top:25px}.tour-view{aspect-ratio:1.1}.tour-overlay h2{font-size:22px}.hero-copy>p:not(.eyebrow){font-size:15px}.viewfinder{display:none}}@media(max-width:480px){.hero-copy h1{font-size:48px}.hero-photo{min-height:270px}.hero-360{height:55px;width:55px;font-size:17px}.project-grid{grid-template-columns:1fr}.card-info h3{font-size:23px}.card-info p{font-size:10px}.filters{gap:6px}.filter{padding:9px 12px;font-size:11px}.intro-strip span:last-child{display:none}.hero-photo-label{left:20px;bottom:20px}.hero-actions .text-link{font-size:11px}.tour-overlay{padding:16px}.tour-overlay p{font-size:10px}}@media(prefers-reduced-motion:reduce){.hero-photo>img{transform:none!important;will-change:auto}}

.tour-card[hidden]{display:none}.tour-direct{display:block;position:relative;color:white}.tour-open{position:absolute;right:14px;bottom:14px;background:#222d22ed;color:#fff;padding:12px 17px;border-radius:24px;font-size:13px;line-height:1.4;box-shadow:0 2px 15px #0003}.tour-open small{display:block;font-size:9px;opacity:.8}.tour-direct:focus-visible{outline:3px solid #637855;outline-offset:3px}.tour-card .card-info a{color:inherit;text-decoration:none}.tour-card .card-info a:hover{text-decoration:underline}.tour-external{display:inline-block;padding:10px 14px;border:1px solid #aab1a3;border-radius:25px;margin:7px 0}.tour-card .card-image img{width:100%;height:100%;object-fit:cover}

/* Organic tour preview in the home hero. */
.portfolio-hero .hero-photo{border-radius:42% 58% 48% 52% / 40% 40% 60% 60%;min-height:490px;box-shadow:0 22px 45px -28px #34422a75;animation:tour-blob 16s ease-in-out infinite alternate;transform:translateZ(0)}
.portfolio-hero .hero-photo-label{left:16%;right:16%;bottom:17%;text-align:center;justify-content:center}.portfolio-hero .hero-photo-label>span:last-child{margin-left:15px}.portfolio-hero .hero-360{top:14%;right:15%}.portfolio-hero .viewfinder{display:none}.portfolio-hero .hero-photo:after{inset:40% 0 0;background:linear-gradient(transparent,#000b)}
@keyframes tour-blob{0%{border-radius:42% 58% 48% 52% / 40% 40% 60% 60%}50%{border-radius:56% 44% 55% 45% / 48% 57% 43% 52%}100%{border-radius:46% 54% 40% 60% / 56% 43% 57% 44%}}
@media(max-width:800px){.portfolio-hero .hero-photo{min-height:350px}.portfolio-hero .hero-photo-label strong{font-size:18px}}@media(max-width:480px){.portfolio-hero .hero-photo{min-height:310px}.portfolio-hero .hero-360{height:48px;width:48px;font-size:17px}}@media(prefers-reduced-motion:reduce){.portfolio-hero .hero-photo{animation:none}}

/* Restrained panoramic shapes around the opening composition. */
.portfolio-hero{position:relative;isolation:isolate;padding-top:42px;padding-bottom:70px;overflow:hidden;align-items:center;min-height:610px}
.portfolio-hero:before{content:'';position:absolute;z-index:-1;width:48%;height:88%;right:1%;top:4%;background:#e8ebdc;border-radius:60% 40% 58% 42% / 43% 55% 45% 57%;transform:rotate(-9deg)}
.portfolio-hero:after{content:'';position:absolute;z-index:-1;right:-4%;top:13%;width:55%;height:65%;border:1px solid #919d7950;border-radius:50%;transform:rotate(-24deg)}
.portfolio-hero .hero-copy{position:relative;padding-bottom:30px}.portfolio-hero .hero-copy:before{content:'';position:absolute;width:110px;height:110px;background:#eedf3626;filter:blur(1px);border-radius:42% 58% 63% 37%;left:-72px;top:70px;z-index:-1}.portfolio-hero .hero-copy h1 em{position:relative;white-space:nowrap}.portfolio-hero .hero-copy h1 em:after{content:'';position:absolute;left:2%;bottom:-8px;width:95%;height:12px;border-top:2px solid #a0ab8990;border-radius:50%;transform:rotate(-3deg)}
.portfolio-hero .hero-photo{width:100%;aspect-ratio:1.12;min-height:490px;max-height:580px;border:7px solid #f8f7f3}.portfolio-hero .hero-photo-label{bottom:18%}.portfolio-hero .hero-photo-label strong{line-height:1.3}.portfolio-hero .hero-photo-label>span:last-child{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid #ffffff80;border-radius:50%;font-size:22px}.portfolio-hero .hero-360{background:#f8f7f3ee;color:#34412b;border:0;backdrop-filter:none}
@media(max-width:1050px){.portfolio-hero{min-height:520px}.portfolio-hero .hero-photo{min-height:410px}}@media(max-width:800px){.portfolio-hero{padding-top:12px;padding-bottom:38px;gap:5px}.portfolio-hero:before{width:90%;height:45%;top:auto;bottom:15px;right:0}.portfolio-hero:after{width:110%;height:32%;top:auto;bottom:55px;right:-10%}.portfolio-hero .hero-photo{min-height:340px;max-height:480px;max-width:560px;justify-self:center}.portfolio-hero .hero-copy{padding-bottom:25px}}@media(max-width:480px){.portfolio-hero .hero-photo{min-height:310px}.portfolio-hero .hero-photo-label{left:15%;right:15%}.portfolio-hero .hero-photo-label strong{font-size:17px}}

/* Wide, unobstructed salon preview, without the organic mask. */
.portfolio-hero{grid-template-columns:1fr 1.25fr}.portfolio-hero:before,.portfolio-hero:after{display:none}.portfolio-hero .hero-photo{border-radius:14px;animation:none;aspect-ratio:1.6;min-height:0;height:auto;max-height:none;border:0;box-shadow:0 16px 40px -28px #34422a50}.portfolio-hero .hero-photo>img{transform:none;object-fit:cover}.portfolio-hero .hero-photo:hover>img{transform:none}.portfolio-hero .hero-photo-label{left:25px;right:25px;bottom:24px;text-align:left;justify-content:space-between}.portfolio-hero .hero-360{top:22px;right:22px}.portfolio-hero .hero-photo:after{inset:65% 0 0;background:linear-gradient(transparent,#0009)}@media(max-width:800px){.portfolio-hero{grid-template-columns:1fr}.portfolio-hero .hero-photo{min-height:0;max-width:none;aspect-ratio:1.6}}@media(max-width:480px){.portfolio-hero .hero-photo{min-height:0}.portfolio-hero .hero-photo-label{left:18px;right:18px;bottom:15px}.portfolio-hero .hero-360{height:40px;width:40px;top:14px;right:14px}}

.tour-detail-image{display:block;width:100%;height:100%}.tour-card .tour-open{z-index:2;text-decoration:none}.tour-detail-image:focus-visible{outline:3px solid #637855;outline-offset:-3px}.tour-open:focus-visible{outline:3px solid #eedf36;outline-offset:3px}

.tour-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:12px;color:#687063}.tour-controls .tour-stop{margin:0}.tour-retry{border:1px solid #b3bdab;border-radius:25px;background:transparent;padding:10px 16px;font:inherit;cursor:pointer}.tour-controls [hidden]{display:none}

/* Google profile fields in the estimate form */
#google-profile-details{padding:22px;background:#eeefe8;border-radius:8px;margin-bottom:24px}#google-profile-details .note{margin-top:-10px}#google-profile-details .profile-url-label{margin-top:24px;margin-bottom:0}#estimate-result{display:block;margin-top:20px;line-height:1.7}
.estimate-location,.travel-card{padding:24px;border:1px solid #d3d6cc;border-radius:12px;margin-bottom:24px}.travel-card{background:#e9ebdf}.estimate-location .text-link{background:none;border:0;border-bottom:1px solid;padding:4px 0;text-align:left}#places-widget{margin-top:18px}#places-widget>p{font-size:13px}gmp-place-autocomplete{width:100%;color-scheme:light}#places-status,#travel-status{font-size:13px;line-height:1.6}#travel-result{margin-top:22px}#travel-result>span{display:block;font-size:13px}#total-price{display:block;font-size:clamp(28px,4vw,42px);margin:10px 0;letter-spacing:-1px}.estimate button:disabled{opacity:.6;cursor:wait}

.estimate textarea{display:block;width:100%;margin-top:8px;padding:14px;border:1px solid #d3d6cc;border-radius:3px;font:inherit;resize:vertical;background:white}.contact-fields{grid-column:1/-1}.estimate .note a{text-decoration:underline}

/* Selected logo 03 preview: preserve original artwork, frame away presentation margins. */
.site-header .brand{display:block;width:148px;height:98px;flex:0 0 148px;overflow:hidden;mix-blend-mode:multiply}.site-header .brand img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.48);transform-origin:50% 50%}.site-header{height:120px}@media(max-width:800px){.site-header{height:100px}.site-header .brand{width:118px;height:80px;flex-basis:118px}}
