:root{--charcoal:#202421;--dark:#191d1a;--green:#9cdb65;--ivory:#f4f1e9;--ink:#29312b;--muted:#b8bdb5;--line:#d9dcd1;--sans:'DM Sans',sans-serif;--display:'Barlow Condensed',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--charcoal);color:var(--ivory);font-family:var(--sans);font-size:18px;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,label,input{-webkit-tap-highlight-color:transparent}a,button,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #58952e;outline-offset:5px}h1,h2,h3,h4,p{margin:0}h2{font-family:var(--display);font-size:clamp(42px,4.2vw,64px);font-weight:500;line-height:1.06;letter-spacing:-.8px}h2 em{font-family:Georgia,serif;font-weight:400;font-size:.86em}p{max-width:62ch}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;line-height:1.6}.green{color:var(--green)}.preview-bar{text-align:center;background:#343c33;padding:7px 20px;font-size:11px;font-weight:700;letter-spacing:1.4px;color:#e9efdf}.preview-bar span{font-weight:400;letter-spacing:.1px;margin-left:15px}.header{max-width:1440px;margin:auto;padding:32px 6%;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #ffffff16}.brand{font-family:var(--display);font-weight:600;font-size:30px;line-height:1.1;white-space:nowrap;letter-spacing:.6px;display:inline-block}.brand>span{color:var(--green);font-weight:400;margin:0 5px}.brand small{display:block;font-family:var(--sans);font-size:9px;letter-spacing:2.8px;font-weight:500;margin-top:10px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav>a:not(.button):hover,.footer-links a:hover{color:var(--green)}.button{background:var(--green);color:#1b2816;display:inline-flex;gap:25px;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:5px;padding:20px 25px;font-weight:700;font-size:13px;letter-spacing:.5px;min-height:56px;transition:background .2s,transform .2s}.button:hover{background:#b2e78b;transform:translateY(-2px)}.button span{font-size:23px;font-weight:400;line-height:1}.button-small{padding:12px 19px;min-height:48px;font-size:14px;letter-spacing:0}.menu-toggle{display:none}.hero{max-width:1440px;margin:auto;padding:42px 6% 0}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow i{display:inline-block;background:var(--green);width:7px;height:7px;border-radius:50%;margin:0 10px 1px 0}.location{font-size:10px;letter-spacing:1.8px;color:var(--muted)}h1{font-family:var(--display);font-size:clamp(85px,16.8vw,240px);letter-spacing:-4px;font-weight:600;line-height:.97;margin:18px 0 40px;white-space:nowrap}.hero-dot{color:var(--green)}.hero-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:7%;align-items:center}.hero-copy{padding:15px 0 25px}.hero-copy h2{margin:18px 0 23px;font-size:clamp(40px,4.1vw,63px);line-height:1.08}.hero-copy h2 em{color:#d7dfcb}.intro{font-size:17px;color:#c4cac1;max-width:400px;line-height:1.8}.hero-button{margin-top:30px}.hero-note{font-size:12px;color:#bec6b8;margin-top:16px}.hero-note span{margin:0 8px;color:var(--green)}.studio-placeholder{min-height:410px;align-self:stretch;border-radius:90px 6px 6px 6px;background:#d4c9b7;color:#3c4437;position:relative;padding:33px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #e8e0d2}.photo-corner{font-family:var(--display);font-size:25px;align-self:flex-end}.photo-corner span{color:#62784d;margin:0 4px}.image-label{border:1px dashed #7d806c85;border-radius:8px;padding:28px 15px;display:flex;gap:14px;align-items:center;justify-content:center;margin:25px 0;color:#555b4c}.image-label>span{font-size:10px;letter-spacing:1.2px;font-weight:700}.image-label small{display:block;font-size:12px;letter-spacing:0;font-weight:400;margin-top:5px}.photo-caption{display:flex;align-items:end;justify-content:space-between}.photo-caption>span:first-child{font-family:Georgia,serif;font-size:31px;line-height:1.2;font-style:italic}.caption-circle{border:1px solid #626b5680;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-size:25px}.reassurance{display:flex;justify-content:space-between;gap:25px;padding:34px 0;margin-top:42px;border-top:1px solid #ffffff24;color:#d1d8ca;font-size:13px}.reassurance b{font-size:15px;font-weight:400;color:var(--green);margin-right:10px}.section-light{background:var(--ivory);color:var(--ink)}.services,.studio,.booking,.closing{padding:88px max(6%,calc((100vw - 1268px)/2))}.section-heading{display:grid;grid-template-columns:1.2fr 1fr;gap:10%;align-items:end;margin-bottom:42px}.section-heading .eyebrow,.studio .eyebrow,.about-copy .eyebrow{margin-bottom:20px;color:#637456}.section-heading>p{font-size:16px;line-height:1.9;color:#5d665a;max-width:380px;padding-bottom:5px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.service-card{border:1px solid #d0d6c8;border-radius:12px;padding:30px;background:#f9f7f1}.card-top{display:flex;justify-content:space-between;align-items:center}.card-top .eyebrow{color:#5d6d50;font-size:10px}.service-number{font-family:var(--display);font-size:24px;color:#909c86}.service-card h3{font-family:var(--display);font-size:34px;font-weight:500;margin:26px 0 13px}.service-card>p{font-size:16px;color:#596352;max-width:390px;line-height:1.8}.service-bottom{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.price{font-size:34px;display:block;letter-spacing:-1px;font-weight:500}.price small{font-size:13px;font-weight:400;letter-spacing:0;color:#65705d}.service-link{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;margin-top:10px;min-height:44px}.service-link span{font-size:22px}.service-link:hover{color:#467125}.mobile-note{display:flex;align-items:center;gap:20px;border-radius:8px;background:#e7ebdf;padding:23px 30px;margin-top:24px}.mobile-icon{font-size:30px;color:#607c47}.mobile-note strong{font-size:16px;font-weight:500}.mobile-note p{font-size:14px;color:#616b58}.mobile-price{margin-left:auto;font-size:26px;white-space:nowrap}.about{padding:80px max(6%,calc((100vw - 1268px)/2));display:grid;grid-template-columns:.85fr 1.25fr;gap:11%;align-items:center}.about-aside{border:1px solid #ffffff22;min-height:365px;display:flex;flex-direction:column;justify-content:space-between;padding:30px;border-radius:8px;background:#252b25}.about-aside .eyebrow{font-size:10px}.monogram{font-family:var(--display);font-size:120px;font-weight:500;line-height:1;text-align:center;color:#e9eee1}.monogram span{font-weight:500;color:var(--green);margin:0 7px;font-size:100px}.aside-caption{font-size:10px;letter-spacing:2px;color:#bcc6b2}.about-copy .eyebrow{color:#b5cba3;font-size:11px}.about-copy h2{font-size:52px;margin-bottom:25px}.about-copy>p:not(.eyebrow){color:#c0c8b9;font-size:16px;margin-top:18px;line-height:1.9}.text-link{display:inline-flex;gap:50px;border-bottom:1px solid #8da47b;padding:12px 0;color:var(--green);font-size:14px;margin-top:15px}.studio{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-bottom:1px solid var(--line)}.studio h2{font-size:52px}.studio-details>p{font-size:16px;color:#5d665a}.studio-details ul{padding:0;margin:26px 0 0;list-style:none}.studio-details li{display:flex;gap:23px;border-top:1px solid var(--line);padding:20px 0}.studio-details li>span{font-size:12px;color:#7d8d70;padding-top:4px}.studio-details h3{font-size:17px;font-weight:500;margin-bottom:5px}.studio-details li p{font-size:14px;color:#68715f}.booking-intro{text-align:center}.booking-intro .eyebrow{color:#66785a;margin-bottom:14px}.booking-intro h2{font-size:65px}.booking-intro>p:last-child{margin:18px auto 0;font-size:16px;color:#5d665a}.booking-notice{display:flex;gap:15px;align-items:baseline;background:#e6ebdc;border:1px solid #d5ddca;border-radius:6px;padding:16px 22px;margin:35px 0 24px;font-size:13px;line-height:1.7}.booking-notice strong{white-space:nowrap}.booking-panel{display:grid;grid-template-columns:.8fr 1.2fr;background:#fcfaf5;border:1px solid #d5dacd;border-radius:12px;overflow:hidden}.booking-left{padding:32px;border-right:1px solid var(--line)}fieldset{border:0;padding:0;margin:0;min-width:0}legend,.calendar-section>h3{font-size:17px;font-weight:500;margin-bottom:24px;padding:0}.step{font-size:12px;display:inline-grid;place-items:center;border:1px solid #acb99f;border-radius:50%;width:25px;height:25px;margin-right:9px}.duration-option{display:flex;align-items:center;gap:12px;padding:20px 14px;border:1px solid var(--line);border-radius:7px;margin:12px 0;cursor:pointer;position:relative}.duration-option:has(input:checked){border:2px solid #71964e;background:#f0f5e8;padding:19px 13px}.duration-option input{accent-color:#5d813d;width:19px;height:19px;margin:0;flex-shrink:0}.duration-option strong{font-size:16px;font-weight:500}.duration-option small{display:block;font-size:12px;color:#67735d}.duration-option>b{margin-left:auto;font-size:19px;font-weight:500}.booking-summary{border-top:1px solid var(--line);padding-top:25px;margin-top:28px}.booking-summary .eyebrow{font-size:10px;color:#6c7b60}.booking-summary>p:nth-child(2){font-size:16px;margin-top:12px}.booking-summary>strong{font-size:31px;font-weight:500;display:block;margin:7px 0 15px}.booking-summary>small{display:block;font-size:12px;color:#6b7563;line-height:1.8}.calendar-section{padding:32px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-header h4{font-size:17px;font-weight:500}.calendar-arrow{background:transparent;border:1px solid #d8decf;border-radius:6px;width:44px;height:44px;color:#384c2b}.calendar-arrow:hover{background:#e6ebdc}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}.weekday{font-size:11px;font-weight:700;color:#637456;padding-bottom:9px}.calendar-day{border:1px solid #e2e5da;background:#f5f5ee;border-radius:5px;min-height:44px;display:grid;place-items:center;font-size:14px;color:#7e8677;cursor:default}.calendar-day.today{border-color:#7a8b69;color:#394d2c;font-weight:700}.calendar-legend{font-size:11px;margin-top:17px;color:#69765f;display:flex;align-items:center;gap:7px}.calendar-legend span{width:8px;height:8px;border:1px solid #899b76;border-radius:50%;flex-shrink:0}.times-empty{border-top:1px solid var(--line);margin-top:24px;padding-top:22px}.times-empty strong{font-size:14px;font-weight:500}.times-empty p{font-size:13px;color:#69735f;margin-top:6px}.reviews{padding:65px max(6%,calc((100vw - 1268px)/2));display:flex;gap:45px;align-items:start}.quote-mark{font-family:Georgia,serif;color:var(--green);font-size:120px;line-height:1}.reviews .eyebrow{font-size:10px;margin-bottom:12px}.reviews h2{font-size:46px}.review-empty{font-size:14px;color:#bac3b3;margin-top:20px;max-width:530px}.closing{text-align:center;padding-top:70px;padding-bottom:70px;background:#e5e9dd}.closing .eyebrow{color:#667659;font-size:10px}.closing h2{margin:22px 0 30px;font-size:56px}.closing>p:last-child{margin:18px auto 0;font-size:12px;color:#67735e}footer{max-width:1440px;margin:auto;padding:50px 6% 22px;display:grid;grid-template-columns:1fr 1fr;gap:35px}footer .brand{font-size:25px}footer .brand small{font-size:8px}footer p{font-size:12px;color:#b7c0b0;margin-top:18px}.footer-links{display:flex;justify-content:flex-end;align-items:start;gap:25px;font-size:12px;padding-top:10px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #ffffff22;padding-top:23px;font-size:10px;color:#a6b29c;letter-spacing:.4px}.skip-link{position:absolute;left:10px;top:-100px;background:var(--green);color:var(--ink);z-index:5;padding:15px}.skip-link:focus{top:10px}
@media(min-width:1600px){.services,.studio,.booking,.closing,.about,.reviews{padding-left:calc((100vw - 1268px)/2);padding-right:calc((100vw - 1268px)/2)}}
@media(max-width:1000px){.header{padding:27px 5%}.brand{font-size:25px}nav{gap:20px;font-size:12px}.hero{padding:35px 5% 0}.hero-grid{gap:5%;grid-template-columns:1.1fr 1fr}.hero-copy h2{font-size:44px}.hero-button{font-size:10px;padding:18px 15px;gap:15px}.studio-placeholder{padding:25px;min-height:380px}.image-label{flex-direction:column;text-align:center}.photo-caption>span:first-child{font-size:26px}.services,.about,.studio,.booking,.closing,.reviews{padding-left:5%;padding-right:5%}.about{gap:7%}.about-copy h2,.studio h2{font-size:45px}.booking-left,.calendar-section{padding:24px}.duration-option{padding:18px 10px;gap:8px}.duration-option:has(input:checked){padding:17px 9px}.duration-option strong{font-size:14px}.duration-option>b{font-size:17px}.calendar{gap:4px}.calendar-day{min-height:40px}.booking-notice{align-items:start}}
@media(max-width:720px){body{font-size:17px}.preview-bar{font-size:9px;padding:7px 12px;letter-spacing:1px}.preview-bar span{font-size:10px;margin-left:6px;letter-spacing:0}.header{position:relative;padding:23px 6%}.brand{font-size:26px}.brand small{font-size:8px;letter-spacing:2px}.menu-toggle{display:flex;align-items:center;gap:10px;color:var(--ivory);border:1px solid #ffffff40;background:transparent;border-radius:5px;padding:10px 12px;font-size:13px;min-height:44px}.menu-toggle span{font-size:17px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 6% 25px;background:var(--dark);z-index:2;border-bottom:1px solid #ffffff30;box-shadow:0 20px 25px #10151030}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}nav>a{padding:12px;font-size:16px}nav .button{margin-top:8px}.hero{padding:30px 6% 0}.hero-top .eyebrow{font-size:9px;letter-spacing:1.3px}.location{display:none}h1{font-size:19.8vw;letter-spacing:-1.7px;margin:22px 0 30px;line-height:.95}.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{padding:0}.hero-copy .eyebrow{font-size:11px}.hero-copy h2{font-size:46px;line-height:1.08;margin-top:15px}.intro{font-size:16px;max-width:430px}.hero-button{font-size:11px;min-height:58px;padding:18px 20px;gap:20px;margin-top:25px}.hero-note{font-size:11px}.studio-placeholder{min-height:285px;border-top-left-radius:70px;padding:25px}.image-label{flex-direction:row;padding:20px 12px;margin:18px 0}.image-label>span{font-size:9px}.photo-caption>span:first-child{font-size:29px}.reassurance{flex-direction:column;gap:12px;font-size:12px;padding:25px 0;margin-top:30px}.services,.about,.studio,.booking,.closing,.reviews{padding:56px 6%}.section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.section-heading h2{font-size:48px}.section-heading>p{font-size:16px}.section-heading .eyebrow{font-size:10px;margin-bottom:15px}.service-grid{grid-template-columns:1fr;gap:18px}.service-card{padding:25px}.service-card h3{font-size:33px;margin-top:18px}.service-card>p{font-size:16px}.mobile-note{padding:20px;gap:13px;margin-top:18px}.mobile-note strong{font-size:14px}.mobile-note p{font-size:12px;margin-top:5px}.mobile-price{font-size:22px}.mobile-icon{display:none}.about{grid-template-columns:1fr;gap:35px}.about-aside{min-height:230px;padding:25px}.monogram{font-size:90px}.monogram span{font-size:75px}.aside-caption{font-size:9px}.about-copy h2{font-size:47px}.about-copy>p:not(.eyebrow){font-size:16px}.studio{grid-template-columns:1fr;gap:25px}.studio h2{font-size:47px}.studio-details li{padding:20px 0}.booking-intro h2{font-size:58px}.booking-intro .eyebrow{font-size:10px}.booking-intro>p:last-child{font-size:15px}.booking-notice{display:block;padding:17px 20px;margin-top:25px}.booking-notice strong{display:block;margin-bottom:4px}.booking-panel{grid-template-columns:1fr}.booking-left{border-right:0;border-bottom:1px solid var(--line);padding:24px 20px}.duration-selector{display:grid;grid-template-columns:1fr 1fr;gap:10px}legend{margin-bottom:16px}.duration-option{margin:0;flex-wrap:wrap;padding:15px 12px;gap:9px}.duration-option:has(input:checked){padding:14px 11px}.duration-option>b{flex-basis:100%;padding-left:29px;font-size:22px}.duration-option strong{font-size:15px}.duration-option small{font-size:10px}.booking-summary{margin-top:23px;padding-top:18px;display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center}.booking-summary .eyebrow{grid-column:1}.booking-summary>p:nth-child(2){margin:0;grid-column:1;font-size:14px}.booking-summary>strong{grid-column:2;grid-row:1/3;font-size:30px;margin:0}.booking-summary>small{grid-column:1/-1;margin-top:9px;font-size:11px}.calendar-section{padding:25px 20px}.calendar-section>h3{font-size:17px}.calendar-day{min-height:42px;font-size:14px}.calendar-legend{font-size:10px}.reviews{gap:20px}.quote-mark{font-size:85px}.reviews h2{font-size:37px}.review-empty{font-size:13px}.closing h2{font-size:47px}.closing .button{font-size:11px;padding:18px 20px;gap:16px}footer{padding:40px 6% 22px;grid-template-columns:1fr;gap:25px}.footer-links{justify-content:flex-start;gap:23px;flex-wrap:wrap;padding:0}.footer-links a{min-height:44px;display:flex;align-items:center}.footer-bottom{flex-direction:column;gap:8px;font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.details-preview{grid-column:1/-1;padding:30px 32px;border-top:1px solid var(--line)}.details-preview h3{font-size:17px;font-weight:500}.details-preview>p{font-size:13px;color:#69735f;margin:12px 0 24px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 25px}.details-grid label{font-size:14px;font-weight:500}.details-grid label span{font-size:12px;font-weight:400}.details-grid input,.details-grid textarea{display:block;width:100%;min-height:50px;margin-top:9px;padding:12px;border:1px solid #d8decf;border-radius:5px;background:#f1f2eb;color:#65705d;font:inherit;resize:vertical}.details-grid input:disabled,.details-grid textarea:disabled{opacity:1;cursor:not-allowed}.booking-disabled{margin-top:24px;background:#d7ddcf;color:#53604b;font-size:11px;cursor:not-allowed}.booking-disabled:hover{transform:none;background:#d7ddcf}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(max-width:720px){.details-preview{padding:25px 20px}.details-grid{grid-template-columns:1fr;gap:18px}.booking-disabled{width:100%;justify-content:center;font-size:10px}}
/* Refinements to the established layout: authentic photography and client voices. */
:root{--green:#a6df5d}
.header .brand{font-size:36px;letter-spacing:.35px}
.header .brand small{font-size:10px;letter-spacing:2.5px}
nav{gap:24px;font-size:15px}
nav>a:not(.button){min-height:48px;display:flex;align-items:center}
.hero-wordmark{font-family:var(--display);font-size:clamp(29px,3.1vw,43px);font-weight:600;letter-spacing:.6px;line-height:1.2;margin-bottom:22px}
.hero-wordmark span{color:var(--green)}
.hero-copy .booking-state{display:inline-block;color:#d9e5cf;margin:9px 0 0;font-size:14px}
.hero-button{font-size:14px;letter-spacing:.2px}
.hero-note{font-size:14px;line-height:1.8}
.hero-grid{align-items:stretch}
.photo-component{margin:0;position:relative;overflow:hidden;background:#30372e;border:1px solid #ffffff25}
.photo-component picture{display:block;height:100%}
.photo-component img{display:block;width:100%;height:100%;object-fit:cover}
.studio-photo{min-height:500px;border-radius:70px 9px 9px 9px}
.studio-photo img{position:absolute;inset:0;object-position:50% 60%}
.studio-photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:end;justify-content:space-between;gap:15px;padding:65px 27px 27px;background:linear-gradient(transparent,#151a15e8);color:#fffdf5}
.studio-photo figcaption>span{font-family:var(--display);font-size:34px;line-height:1.05}
.studio-photo figcaption small{font-size:10px;letter-spacing:1px;text-align:right}
.portrait-photo{border-radius:10px;aspect-ratio:4/5;align-self:start}
.portrait-photo img{object-position:60% 30%}
.portrait-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:60px 26px 24px;background:linear-gradient(transparent,#151a15ed);color:#fffdf5}
.portrait-photo figcaption strong{font-family:var(--display);font-size:35px;line-height:1.2;display:block;font-weight:500}
.portrait-photo figcaption span{font-size:14px;color:#e0e9d6}
.about{gap:8%;grid-template-columns:.95fr 1.15fr}
.about-copy>p:not(.eyebrow),.studio-details>p{font-size:18px;line-height:1.8}
.about-copy .text-link{font-size:16px;min-height:48px}
.studio-details li p{font-size:16px}
.studio-gallery{grid-column:1/-1;display:grid;grid-template-columns:2fr 1fr 1fr;gap:18px;margin-top:15px;min-width:0}
.studio-gallery figure{margin:0;min-width:0}
.studio-gallery img{width:100%;height:250px;object-fit:cover;border-radius:8px;display:block}
.studio-gallery figure:first-child img{object-position:55% 50%}
.studio-gallery figcaption{font-size:14px;color:#5a6651;line-height:1.5;margin-top:12px}
.booking{background:#e5ecdb;border-top:7px solid #a6df5d}
.booking-intro>p:last-child{font-size:18px}
.booking-notice{border:1px solid #82966b;background:#f8faef;font-size:16px;align-items:start;box-shadow:0 3px 0 #cdd8c0;padding:22px 25px}
.booking-notice strong{font-weight:700;color:#34472a}
.booking-panel{border-color:#9eaf8e;box-shadow:0 12px 40px #34472a0a}
.booking-summary>small,.times-empty p,.details-preview>p{font-size:14px}
.times-empty strong{font-size:16px}
.details-grid label{font-size:16px}
.calendar-header h4{font-size:20px}
.calendar-day{font-size:16px;color:#65705b;min-height:46px}
.calendar-legend{font-size:13px}
.calendar-arrow{width:48px;height:48px}
.reviews{display:block;padding-top:80px;padding-bottom:80px}
.reviews-heading{margin-bottom:34px}
.reviews-heading .eyebrow{font-size:12px}
.reviews h2{font-size:60px}
.reviews-heading>p:last-child{font-size:18px;color:#c7d0bf;margin-top:18px}
.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.review-card{margin:0;padding:30px;border:1px solid #59624f;border-radius:12px;background:#272d26;min-width:0}
.review-card figcaption{display:flex;align-items:center;gap:14px;padding-bottom:22px;border-bottom:1px solid #ffffff21;margin-bottom:22px}
.review-avatar{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#35402d;color:#cce9b2;font-size:14px;font-weight:500;flex-shrink:0}
.review-card figcaption strong{display:block;font-size:18px;font-weight:500;color:#fffdf5;line-height:1.5}
.review-stars{display:block;color:var(--green);letter-spacing:3px;font-size:17px;line-height:1.7}
.review-card blockquote{margin:0;color:#e0e6d9;font-size:17px;line-height:1.9}
.review-card blockquote p{max-width:none;white-space:pre-line;overflow-wrap:break-word}
.review-card blockquote p+p{margin-top:18px}
.review-featured{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;gap:35px}
.review-featured figcaption{border:0;align-self:start;margin:0;padding:0}
.reviews-note{font-size:14px;color:#c1cdb6;margin-top:25px;line-height:1.8;max-width:78ch}
.mobile-booking-link{display:none}
.reassurance{font-size:15px}.service-card>p{font-size:18px}.service-link{font-size:15px;min-height:48px}.mobile-note p{font-size:16px}.mobile-note strong{font-size:18px}
a:focus-visible,button:focus-visible,input:focus-visible{outline-color:#729a45}
@media(max-width:1100px){
.header{position:relative}.header .brand{font-size:32px}.header .brand small{font-size:9px}
.menu-toggle{display:flex;align-items:center;gap:10px;color:var(--ivory);border:1px solid #ffffff40;background:transparent;border-radius:5px;padding:11px 15px;font-size:16px;min-height:48px}
nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 6% 25px;background:var(--dark);z-index:2;border-bottom:1px solid #ffffff30;box-shadow:0 20px 25px #10151030}
nav.open{display:flex;flex-direction:column;align-items:stretch;gap:5px}nav>a{padding:12px;font-size:17px}nav .button{margin-top:8px}
.hero-button{font-size:13px;padding:18px}.hero-wordmark{font-size:32px}.hero-copy h2{font-size:45px}.studio-photo{min-height:500px}
.review-featured{grid-template-columns:180px 1fr;gap:25px}
.studio-gallery img{height:200px}
}
@media(max-width:720px){
.header{gap:12px}.header .brand{font-size:clamp(22px,5.8vw,32px)}.header .brand small{font-size:8px;letter-spacing:1.8px}.menu-toggle{font-size:14px;padding:10px 12px;gap:8px}
.hero-wordmark{font-size:clamp(29px,7.8vw,44px);margin-bottom:20px}.hero-copy h2{font-size:46px}.hero-button{font-size:14px;width:100%;padding:18px 20px;gap:10px}.hero-note{font-size:14px}.hero-copy .booking-state{font-size:14px}
.studio-photo{min-height:0;height:auto;aspect-ratio:1/1.05;border-top-left-radius:55px}.studio-photo figcaption{padding:65px 24px 24px}.studio-photo figcaption>span{font-size:32px}
.reassurance{font-size:15px}.about{grid-template-columns:1fr;gap:30px}.portrait-photo{aspect-ratio:4/4.5;max-height:560px;width:100%}.portrait-photo img{object-position:60% 18%}
.about-copy>p:not(.eyebrow),.studio-details>p{font-size:17px}.service-card>p{font-size:17px}.service-link{font-size:15px}.mobile-note p{font-size:15px}.mobile-note strong{font-size:16px}.mobile-price{font-size:25px}
.studio-gallery{grid-template-columns:1fr 1fr;gap:22px 14px;margin-top:5px}.studio-gallery figure:first-child{grid-column:1/-1}.studio-gallery img{height:190px}.studio-gallery figure:first-child img{height:auto;aspect-ratio:1.55;object-fit:cover}.studio-gallery figcaption{font-size:14px}
.booking{padding-top:45px;padding-left:4%;padding-right:4%}.booking-intro{padding:0 3%}.booking-intro>p:last-child{font-size:17px}.booking-notice{font-size:16px;padding:20px;margin-bottom:22px}.booking-notice strong{margin-bottom:8px}.booking-panel{border-radius:10px}.booking-left,.calendar-section,.details-preview{padding:25px 16px}.duration-option strong{font-size:16px}.duration-option small{font-size:13px}.duration-option>b{font-size:26px}.calendar{gap:4px}.calendar-day{min-height:42px}.calendar-legend{font-size:12px;line-height:1.7}.weekday{font-size:12px}.booking-summary>small{font-size:13px}.details-grid input{min-height:54px}.details-grid label{font-size:16px}.booking-disabled{font-size:11px;padding:16px 10px}
.reviews{padding-top:56px;padding-bottom:56px}.reviews h2{font-size:50px}.reviews-heading>p:last-child{font-size:17px}.review-grid{grid-template-columns:1fr;gap:20px}.review-card{padding:25px 22px}.review-card blockquote{font-size:17px;line-height:1.85}.review-featured{display:block}.review-featured figcaption{padding-bottom:22px;border-bottom:1px solid #ffffff21;margin-bottom:22px}.reviews-note{font-size:14px}
.closing .button{font-size:14px;width:100%;gap:10px}.footer-links{font-size:15px}.footer-bottom{font-size:12px}footer{padding-bottom:115px}
.mobile-booking-link{position:fixed;bottom:0;left:0;right:0;z-index:3;background:#a6df5d;color:#203019;display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 6% calc(13px + env(safe-area-inset-bottom));min-height:76px;box-shadow:0 -3px 20px #141a1430;border-top:1px solid #729a45}.mobile-booking-link strong{display:block;font-size:17px;font-weight:700;line-height:1.5}.mobile-booking-link small{display:block;font-size:13px;line-height:1.6}.mobile-booking-link>span:last-child{font-size:28px}html{scroll-padding-bottom:105px}
}
/* Booking integration states retain the existing visual system. */
.mobile-option{display:flex;align-items:start;gap:12px;padding:18px 0;cursor:pointer}.mobile-option input{accent-color:#5d813d;width:22px;height:22px;flex-shrink:0;margin:4px 0}.mobile-option strong{font-size:16px;font-weight:500}.mobile-option small{display:block;font-size:14px;line-height:1.7;color:#59684d}.availability-status{font-size:14px;line-height:1.7;color:#455a36;margin:18px 0 8px}.availability-retry{border:1px solid #71964e;border-radius:6px;background:#edf4e5;color:#2f4820;min-height:48px;padding:10px 18px;margin-top:8px}.calendar-day:disabled{cursor:default}.calendar-day.available{background:#e4efd8;border-color:#91ab77;color:#2c431d;cursor:pointer;font-weight:700}.calendar-day.available:hover{background:#d4e9c0}.calendar-day.selected{background:#38562b;color:#fff;border-color:#38562b}.calendar-arrow:disabled{opacity:.45;cursor:default}.appointment-time-options{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.appointment-time-options button{border:1px solid #8aa374;border-radius:6px;padding:10px 16px;min-height:48px;background:#eff5e7;color:#314b22;font-size:17px;cursor:pointer}.appointment-time-options button[aria-pressed="true"]{background:#38562b;color:#fff}.booking-limits,.pending-note{font-size:14px;line-height:1.8;color:#58674b;margin-top:18px}.booking-limits{padding-top:18px;border-top:1px solid var(--line)}.notes-label{grid-column:1/-1}#turnstile-container{margin-top:24px;max-width:100%;min-width:0}#verification-status{font-size:14px;color:#74552c;margin-top:10px}.booking-submit{margin-top:22px;font-size:14px;justify-content:center;min-width:250px}.booking-submit:disabled{background:#d7ddcf;color:#53604b;cursor:not-allowed}.booking-submit:disabled:hover{transform:none}#booking-result{margin-top:24px;padding:22px;border-radius:8px;font-size:17px;line-height:1.8;scroll-margin-bottom:120px}.request-received{border:1px solid #71964e;background:#edf5e5;color:#2e4a21}.request-error{border:1px solid #a17a60;background:#faf0e9;color:#70442b}[hidden]{display:none!important}@media(max-width:720px){.booking-submit{width:100%;min-width:0;font-size:13px}.duration-option small{font-size:12px}.calendar-day{min-height:44px}.mobile-option small{font-size:14px}.booking-limits{font-size:14px}}
