@charset "UTF-8";
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/lora-latin-ext.woff2?v=2a2d9c22c986) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lora';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(fonts/lora-latin.woff2?v=ddb8c6603510) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/nunito-sans-latin-ext.woff2?v=c648ee5bfda7) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Nunito Sans';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/nunito-sans-latin.woff2?v=29e389049684) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#354438;--text:#424b43;--muted:#5d655b;--line:#d5d8cd;--paper:#f8f5ef;--sage:#e8ede3;--white:#fffdf8;--button:#e7dfd1;--button-hover:#d9ceb9;--button-radius:6px;--field-border:#76836e;--serif:"Lora",Georgia,serif;--sans:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--paper);color:var(--text);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}figure{margin:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-weight:400}h1,h2{font-family:var(--serif);line-height:1.12;letter-spacing:-.03em}h1{font-size:clamp(3.5rem,5.8vw,5.7rem);margin-bottom:30px}h2{font-size:clamp(2.3rem,3.6vw,3.5rem);margin-bottom:24px}h3{line-height:1.25;letter-spacing:-.025em}h1 em,h2 em{font-style:normal;font-weight:400}h1 em{display:block}p{margin-bottom:22px}strong{font-weight:500}.wrap{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.eyebrow{font-size:.7rem;line-height:1.6;letter-spacing:.13em;font-weight:500;margin-bottom:26px;color:var(--muted)}.lead{font-size:1.1rem;line-height:1.65;max-width:540px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 25px;background:var(--button);color:var(--ink);border:1px solid var(--button);border-radius:var(--button-radius);font-size:.9rem;font-weight:500;line-height:1.4;text-align:center;transition:background .18s,color .18s}.button:hover:not(:disabled){background:var(--button-hover);border-color:var(--button-hover)}.button-small{min-height:44px;padding:10px 19px;font-size:.84rem}.text-link{display:inline-flex;align-items:center;gap:20px;border:0;border-bottom:1px solid currentColor;padding:8px 0;background:transparent;font-size:.91rem;font-weight:400;line-height:1.4;color:var(--ink)}.text-link:hover{color:#435a43}.button-row{display:flex;flex-wrap:wrap;gap:24px;align-items:center}.arrow{width:22px;height:22px;flex-shrink:0;transition:transform .2s}.text-link:hover .arrow,.service-card:hover>.arrow{transform:translateX(3px)}.skip-link{position:fixed;top:10px;left:10px;z-index:100;background:var(--ink);color:white;padding:14px;transform:translateY(-180%)}.skip-link:focus{transform:none}:focus-visible{outline:2px solid #4c6549;outline-offset:5px}section[id],div[id]{scroll-margin-top:116px}[hidden]{display:none!important}

/* A compact, calm header; the same navigation works at both sizes. */
.site-header{height:100px;position:sticky;top:0;background:var(--paper);z-index:30;border-bottom:1px solid var(--line)}.header-inner{height:100%;max-width:1440px;margin:auto;padding:0 56px;display:flex;align-items:center;gap:40px}.brand{display:block;flex-shrink:0;width:176px}.brand img{width:100%}.site-header nav{display:flex;align-items:center;gap:28px;margin-left:auto}.nav-link{font-size:.87rem;padding-block:10px;white-space:nowrap}.nav-link[aria-current=page]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px}.nav-link:hover{color:#435a43}.header-actions{display:flex;align-items:center;gap:30px}.language-switch{display:flex;gap:6px;align-items:center;font-size:.73rem;letter-spacing:.025em;white-space:nowrap}.language-switch [aria-current]{font-weight:500;text-decoration:underline;text-underline-offset:5px}.language-switch a{color:var(--muted);padding:14px 3px}.language-switch>span[aria-hidden]{opacity:.4}.menu-toggle{display:none;background:none;border:none;color:var(--ink);font-size:0;align-items:center;justify-content:center;width:44px;min-height:44px;padding:10px}.menu-lines{width:22px;height:10px;border-top:1px solid;border-bottom:1px solid}.site-header nav .mobile-booking{display:none}

/* Home. Photography supplies the natural detail; services stay easy to scan. */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:42px}.hero-copy{padding:35px 0 45px;max-width:550px}.hero h1{font-size:clamp(4rem,6.5vw,6.2rem);line-height:1.02;letter-spacing:-.06em;margin-bottom:30px}.hero .lead{max-width:385px;font-size:1.04rem;line-height:1.7}.hero .eyebrow{margin-bottom:30px}.hero-actions{display:flex;flex-wrap:wrap;gap:28px;align-items:center;margin-top:34px}.hero-visual{height:560px;background:#e4e5d9;overflow:hidden}.hero-visual img{height:100%;width:100%;object-fit:cover;object-position:50% 8%;animation:arrive .85s ease-out both}.welcome-strip{display:flex;justify-content:space-between;gap:25px;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:78px;font-size:.82rem;color:var(--muted)}.welcome-strip>a:first-child{display:flex;align-items:center;gap:20px;color:var(--ink)}.welcome-strip .arrow{width:18px}.welcome-phone{color:var(--ink)}.section{padding-block:110px}.services-section{display:grid;grid-template-columns:.85fr 1.55fr;gap:100px}.section-heading{align-self:start;padding-top:12px;max-width:345px}.section-heading .eyebrow{margin-bottom:24px}.section-heading h2{font-size:clamp(2.35rem,3.4vw,3.25rem)}.section-heading>p:not(.eyebrow){font-size:.95rem;color:var(--muted)}.section-heading>.text-link{margin-top:14px}.service-list{border-top:1px solid var(--line)}.service-card{display:grid;grid-template-columns:1fr auto 22px;gap:28px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.service-card h3{font-size:1.6rem;margin-bottom:8px}.service-card p{font-size:.88rem;color:var(--muted);max-width:380px;line-height:1.55;margin-bottom:0}.service-price{font-size:.85rem;white-space:nowrap;color:var(--ink)}.service-card:hover h3{color:#435a43}.about-band{background:var(--sage);padding-block:76px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}.about-photo img{height:540px;width:100%;object-fit:cover;object-position:center 54%}.about-photo figcaption{font-size:.74rem;color:var(--muted);padding-top:14px}.about-copy{max-width:390px}.about-copy>p:not(.eyebrow){color:var(--muted);line-height:1.8;max-width:360px}.about-copy .text-link{margin-top:12px}.visit-band{background:var(--sage);color:var(--text)}.visit-section{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center;padding-block:80px}.visit-section h2,.visit-section h3,.visit-section .eyebrow,.visit-section .text-link{color:var(--ink)}.visit-section .eyebrow{color:var(--muted)}.visit-section h2{max-width:540px;margin-bottom:24px}.botanical{width:86px;height:108px;color:#586b52;margin-left:-12px;margin-bottom:-12px}.visit-details h3{font-size:1.7rem;margin-bottom:20px}.visit-details p{font-size:.94rem;color:var(--muted);margin-bottom:9px}.visit-details .button-row{margin-top:32px}

/* Secondary pages share the same type, spacing and information hierarchy. */
.page-heading{padding-block:70px 44px}.page-heading h1{font-size:clamp(3.3rem,5.4vw,4.8rem)}.page-heading h1 em{display:inline}.page-heading .lead{max-width:650px;font-size:1.04rem}.price-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:85px;padding-bottom:40px}.price-sidebar{position:sticky;top:132px;align-self:start}.price-sidebar nav{display:flex;flex-direction:column}.price-sidebar nav a{font-size:.88rem;line-height:1.5;padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted)}.price-sidebar nav a:hover,.price-sidebar nav a.active{color:var(--ink);font-weight:500}.price-sidebar p{font-size:.75rem;color:var(--muted);line-height:1.7;max-width:210px;margin:25px 0 0}.category-picker{display:none}.price-category{margin-bottom:58px}.price-category-heading{display:flex;align-items:baseline;gap:22px;padding-bottom:20px;border-bottom:1px solid #a5af9d}.price-category-heading>span{font-size:.73rem;color:var(--muted)}.price-category-heading h2{font-size:2rem;letter-spacing:-.04em;margin-bottom:0}.category-note{font-size:.79rem;color:var(--muted);margin:16px 0 3px}.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto 104px;gap:24px;align-items:center;min-height:70px;padding-block:15px;border-bottom:1px solid var(--line)}.price-name{font-size:.9rem;line-height:1.55;overflow-wrap:anywhere}.price-value{font-variant-numeric:tabular-nums;font-size:.85rem;white-space:nowrap;color:var(--ink)}.price-request{display:flex;align-items:center;justify-content:flex-end;min-height:40px;font-size:.78rem;text-align:right;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#abb7a0;line-height:1.45}.price-request:hover{text-decoration-color:var(--ink)}.price-footnote{font-size:.78rem;color:var(--muted);margin-top:18px}.gift-band{padding:40px 46px;background:var(--sage);margin-bottom:80px;display:flex;align-items:center;justify-content:space-between;gap:40px}.gift-band h2{font-size:2.1rem;margin-bottom:16px}.gift-band .eyebrow{margin-bottom:14px}.gift-band p:last-child{font-size:.9rem;color:var(--muted);margin-bottom:0}.gift-band>.button{flex-shrink:0}
.about-page{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;padding-block:60px 75px}.about-page h1{font-size:clamp(3.4rem,4.8vw,4.7rem)}.about-page>div:first-child>p:not(.eyebrow){max-width:460px;color:var(--muted);font-size:1rem}.about-page .button{margin-top:12px}.portrait-photo{height:550px;overflow:hidden}.portrait-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 62%}.team-section{padding-top:25px;padding-bottom:80px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:42px}.team-item{padding-top:20px;border-top:1px solid var(--line)}.team-number{font-size:.72rem;color:var(--muted)}.team-item h3{font-size:1.8rem;margin:25px 0 8px}.team-item p{font-size:.9rem;color:var(--muted)}.gallery-section{padding-bottom:80px}.gallery-section h2{font-size:2.6rem;margin-bottom:35px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.gallery-grid figure{height:390px;overflow:hidden}.gallery-grid img{height:100%;width:100%;object-fit:cover}
.location-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:65px;align-items:start;padding-bottom:65px}.location-info h2{font-size:2rem}.location-steps{list-style:none;padding:0;margin:30px 0}.location-steps li{display:flex;gap:20px;align-items:center;margin-bottom:19px;font-size:.96rem}.location-steps span{font-size:.75rem;color:var(--muted)}.appointment-note{font-size:.88rem;color:var(--muted);margin-bottom:30px}.location-info .button-row{gap:12px}.location-info .button{font-size:.82rem;padding-inline:17px}.location-contacts{display:flex;flex-direction:column;gap:4px;margin-top:30px;font-size:.91rem}.location-contacts a:first-child{font-size:1.8rem;letter-spacing:-.03em;color:var(--ink)}.map-frame{height:440px;background:var(--sage);overflow:hidden}.map-frame iframe{border:0;width:100%;height:100%}.contact-band{border-top:1px solid var(--line);padding-block:50px 70px;display:flex;justify-content:space-between;align-items:center;gap:55px}.contact-band h2{font-size:2.5rem}.contact-band p{font-size:.9rem;color:var(--muted);margin-bottom:0}.contact-band>.button{flex-shrink:0}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;grid-template-areas:"intro form" "info form";grid-template-rows:auto 1fr;gap:0 100px;padding-block:70px 90px}.contact-copy{grid-area:intro}.contact-copy h1{font-size:clamp(3rem,4.6vw,4.2rem)}.contact-copy .lead{font-size:1rem;max-width:410px}.contact-aside{grid-area:info;margin-top:32px;align-self:start;border-top:1px solid var(--line);padding-top:28px;display:flex;flex-direction:column;align-items:flex-start}.contact-aside h2{font-size:.9rem;letter-spacing:0;margin-bottom:16px}.contact-aside>a{font-size:.92rem;margin-bottom:6px;overflow-wrap:anywhere;max-width:100%}.contact-aside .contact-phone{font-size:1.7rem;letter-spacing:-.025em;color:var(--ink)}.contact-aside p{color:var(--muted);font-size:.84rem;margin-top:12px}.contact-aside span{font-size:.8rem;color:var(--muted)}.request-panel{grid-area:form;background:var(--sage);padding:36px;min-width:0}.form-intro{font-size:.86rem;line-height:1.7;color:#58654f;padding-bottom:22px;margin-bottom:25px;border-bottom:1px solid #cdd4c2}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}form label,.category-picker{display:block;font-size:.84rem;color:var(--ink);margin-bottom:20px}form label>span{font-size:.75rem;color:var(--muted)}input,select,textarea{display:block;width:100%;min-width:0;padding:12px 13px;border:1px solid var(--field-border);border-radius:10px;background:var(--white);color:var(--text);min-height:49px;margin-top:7px;font-size:1rem;line-height:1.45}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--muted);font-size:.88rem}select{padding-right:28px;text-overflow:ellipsis}form .form-submit{width:100%;margin-top:3px}.privacy-note{font-size:.74rem;color:#626d58;line-height:1.6;margin:16px 0 0;text-align:center}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.request-panel #request-result h2{font-size:2.45rem}.request-panel #request-result>p:not(.eyebrow){font-size:.94rem}#request-summary{margin-block:27px;overflow-wrap:anywhere}#request-summary div{border-bottom:1px solid #cbd3c0;padding-block:10px}#request-summary dt{font-size:.75rem;color:#626d58}#request-summary dd{margin:2px 0;font-size:.93rem}.result-actions{display:flex;flex-direction:column;gap:14px}.result-actions .text-link{align-self:center}.copy-status{font-size:.83rem;color:#4d6044;min-height:1.4em;margin:10px 0 0}.button:disabled{opacity:.6;cursor:wait}.category-picker{display:none}
.site-footer{background:var(--paper);border-top:1px solid var(--line)}.footer-main{padding-block:64px 50px;display:grid;grid-template-columns:1.2fr 1fr 1.05fr;gap:70px}.footer-brand p{font-size:.82rem;margin:20px 0 0;color:var(--muted);max-width:240px}.footer-main h2{font-size:.89rem;letter-spacing:0;margin:8px 0 21px}.footer-main>div:not(:first-child) a{display:block;font-size:.85rem;margin-bottom:9px;overflow-wrap:anywhere}.footer-main>div:not(:first-child) p{font-size:.8rem;margin-bottom:8px;color:var(--muted)}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;align-items:center;font-size:.72rem;color:var(--muted);padding-block:13px}.footer-bottom .language-switch{font-size:.72rem}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
@keyframes arrive{from{opacity:.7;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}

@media(min-width:1600px){.hero{gap:120px;padding-block:50px}.hero-visual{height:620px}.hero h1{font-size:6.2rem}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.header-inner{padding-inline:36px;gap:25px}.site-header nav{gap:20px}.header-actions{gap:20px}.brand{width:160px}.hero{gap:50px}.hero-visual{height:520px}.hero-actions{gap:22px}.services-section{gap:70px}.about-grid,.visit-section{gap:70px}.about-photo img{height:500px}.price-layout{gap:50px;grid-template-columns:210px minmax(0,1fr)}.contact-layout{gap:0 55px}.request-panel{padding:28px}.footer-main{gap:45px}.price-row{gap:20px;grid-template-columns:minmax(0,1fr) auto 88px}.about-page{gap:55px}.portrait-photo{height:500px}}
@media(max-width:960px){.site-header{height:82px}.header-inner{gap:18px;padding-inline:28px}.brand{width:155px}.header-actions{margin-left:auto}.header-actions>.button{display:none}.menu-toggle{display:flex;order:3}.site-header nav{display:none;position:absolute;top:81px;left:0;right:0;margin:0;padding:20px 28px 28px;background:var(--paper);border-bottom:1px solid var(--line)}.site-header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav-link{font-size:1.08rem;padding-block:14px;border-bottom:1px solid var(--line)}.nav-link[aria-current=page]{text-decoration:none;color:#435a43}.site-header nav .mobile-booking{display:flex;margin-top:22px;align-self:start}.wrap{width:calc(100% - 56px)}.hero{gap:36px;padding-block:30px}.hero-copy{padding-block:30px}.hero h1{font-size:clamp(3.8rem,7vw,5.4rem)}.hero-visual{height:490px}.hero .eyebrow{font-size:.66rem}.hero .lead{font-size:.99rem}.hero-actions{gap:15px}.hero-actions .button{padding-inline:19px}.hero-actions .text-link{font-size:.87rem}.welcome-strip{font-size:.76rem;gap:20px}.welcome-phone{display:none}.section{padding-block:75px}.services-section{gap:45px;grid-template-columns:.85fr 1.3fr}.service-card{gap:16px}.service-card h3{font-size:1.4rem}.service-card p{font-size:.83rem}.service-price{font-size:.8rem}.about-grid,.visit-section{gap:45px}.about-photo img{height:440px}.about-copy h2,.visit-section h2{font-size:2.65rem}.price-layout{grid-template-columns:1fr;gap:24px}.price-sidebar{position:static}.price-sidebar nav{display:none}.category-picker{display:block;max-width:460px;font-size:.8rem;margin-bottom:0}.category-picker select{margin-top:10px}.price-sidebar p{max-width:600px;margin:14px 0 18px}.price-row{grid-template-columns:minmax(0,1fr) auto 115px}.contact-layout{gap:0 35px;grid-template-columns:1fr 1.1fr}.contact-copy h1{font-size:3.1rem}.form-grid{grid-template-columns:1fr;gap:0}.request-panel{padding:24px}.location-layout{gap:35px}.location-info .button-row{align-items:start;flex-direction:column}.about-page{gap:35px}.about-page h1{font-size:3.25rem}.portrait-photo{height:460px}.gallery-grid{gap:18px}.gallery-grid figure{height:315px}.team-grid{gap:28px}.team-item h3{font-size:1.5rem}.footer-main{gap:30px;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand p{max-width:none}.footer-bottom{flex-wrap:wrap;gap:8px 24px}}
@media(max-width:640px){html{scroll-padding-top:98px}.wrap{width:calc(100% - 40px)}.site-header{height:78px}.header-inner{padding-inline:20px;gap:8px}.brand{width:139px}.header-actions{gap:0}.language-switch{gap:4px;font-size:.7rem}.language-switch a{padding:14px 3px}.menu-toggle{width:36px;padding:8px;margin-right:-8px}.site-header nav{top:77px;padding-inline:20px}.eyebrow{font-size:.65rem;letter-spacing:.11em;margin-bottom:20px}.hero{display:flex;flex-direction:column;gap:30px;padding-block:33px 25px}.hero-copy{padding:0;width:100%;max-width:none}.hero h1{font-size:3.5rem;line-height:1.03;letter-spacing:-.055em;margin-bottom:23px}.hero .eyebrow{margin-bottom:20px;font-size:.63rem}.hero .lead{font-size:.98rem;max-width:370px;line-height:1.65;margin-bottom:0}.hero-actions{gap:24px;margin-top:25px;flex-wrap:nowrap}.hero-actions .button{min-height:49px;font-size:.86rem;padding-inline:21px;flex-shrink:0}.hero-actions .text-link{font-size:.86rem;white-space:nowrap}.hero-visual{width:100%;height:260px}.hero-visual img{object-position:center 8%}.welcome-strip{display:grid;grid-template-columns:1fr;gap:4px;padding-block:17px;min-height:0;align-items:start}.welcome-strip>a:first-child{font-size:.82rem;justify-content:space-between}.welcome-strip>span{font-size:.75rem}.section{padding-block:58px}.services-section{display:block}.section-heading{padding-top:0;max-width:none;margin-bottom:32px}.section-heading .eyebrow{margin-bottom:19px}.section-heading h2{font-size:2.35rem;margin-bottom:19px;max-width:290px}.section-heading>p:not(.eyebrow){font-size:.93rem;max-width:330px;margin-bottom:14px}.section-heading>.text-link{font-size:.84rem;margin-top:3px}.service-card{grid-template-columns:1fr auto 18px;gap:13px;padding-block:22px}.service-card h3{font-size:1.35rem;margin-bottom:7px}.service-card p{font-size:.81rem;line-height:1.55;max-width:240px}.service-card .arrow{width:18px}.service-price{font-size:.76rem;align-self:start;padding-top:5px}.service-card>.arrow{align-self:start;margin-top:6px}.about-band{padding-block:40px 48px}.about-grid{display:flex;flex-direction:column-reverse;gap:35px;align-items:stretch}.about-copy{max-width:none}.about-copy h2{font-size:2.65rem;margin-bottom:23px}.about-copy>p:not(.eyebrow){font-size:.95rem;max-width:360px}.about-copy .text-link{font-size:.88rem;margin-top:3px}.about-photo img{height:340px;object-position:center 48%}.about-photo figcaption{font-size:.71rem;padding-top:12px}.visit-section{display:block;padding-block:48px 55px}.visit-section>div:first-child{position:relative}.visit-section h2{font-size:2.5rem;max-width:290px;margin-bottom:36px}.visit-section .botanical{position:absolute;width:55px;height:74px;right:1px;top:-10px;margin:0;opacity:.8}.visit-details h3{font-size:1.35rem;margin-bottom:14px}.visit-details p{font-size:.85rem}.visit-details .button-row{gap:25px;margin-top:27px}.visit-details .button{padding-inline:18px;font-size:.86rem}.visit-details .text-link{font-size:.86rem}
.page-heading{padding-block:37px 26px}.page-heading h1{font-size:3rem;line-height:1.09;margin-bottom:23px}.page-heading .lead{font-size:.97rem;line-height:1.7;margin-bottom:0}.page-heading .eyebrow{margin-bottom:20px}.price-layout{gap:12px;padding-bottom:10px}.price-sidebar p{font-size:.72rem;margin-bottom:19px}.category-picker{font-size:.76rem}.price-category{margin-bottom:45px}.price-category-heading{gap:15px;padding-bottom:16px}.price-category-heading h2{font-size:1.7rem}.price-category-heading>span{font-size:.7rem}.category-note{font-size:.74rem;line-height:1.65;margin-bottom:5px}.price-row{grid-template-columns:1fr auto;gap:3px 15px;padding-block:16px;min-height:0}.price-name{grid-column:1/-1;font-size:.9rem;line-height:1.5}.price-value{font-size:.82rem;align-self:center}.price-request{font-size:.77rem;min-height:36px}.price-footnote{font-size:.75rem}.gift-band{display:block;width:calc(100% - 40px);padding:27px 24px;margin-bottom:45px}.gift-band h2{font-size:2rem;line-height:1.12}.gift-band p:last-child{font-size:.86rem}.gift-band>.button{margin-top:24px;font-size:.86rem}
.about-page{display:flex;flex-direction:column;gap:32px;padding-block:37px 48px;align-items:stretch}.about-page h1{font-size:3rem;line-height:1.1}.about-page>div:first-child>p:not(.eyebrow){font-size:.97rem}.about-page .button{margin-top:5px}.portrait-photo{height:350px}.team-section{padding-top:0;padding-bottom:45px}.team-section h2{font-size:2.3rem}.team-grid{display:block;margin-top:28px}.team-item{padding-block:20px;display:grid;grid-template-columns:25px 1fr;gap:5px 12px}.team-number{grid-row:1/3;padding-top:4px}.team-item h3{font-size:1.45rem;margin:0}.team-item p{font-size:.85rem;margin:0}.gallery-section{padding-bottom:50px}.gallery-section h2{font-size:2.3rem;margin-bottom:27px}.gallery-grid{grid-template-columns:1fr 1fr;gap:14px}.gallery-grid figure{height:235px}.gallery-grid figure:first-child{grid-column:1/-1;height:340px}
.location-layout{grid-template-columns:1fr;gap:30px;padding-bottom:38px}.location-info h2{font-size:1.65rem;margin-bottom:24px}.location-steps{margin-block:25px}.location-steps li{font-size:.92rem;margin-bottom:16px}.appointment-note{font-size:.82rem;margin-bottom:25px}.location-info .button-row{flex-direction:row;gap:10px}.location-info .button{padding-inline:15px;font-size:.77rem}.location-contacts{margin-top:23px}.location-contacts a:first-child{font-size:1.55rem}.map-frame{height:340px}.contact-band{display:block;padding-block:32px 44px}.contact-band h2{font-size:2.2rem;max-width:330px;margin-bottom:20px}.contact-band p{font-size:.86rem}.contact-band>.button{margin-top:25px}
.contact-layout{grid-template-columns:1fr;grid-template-areas:"intro" "form" "info";gap:25px;padding-block:37px 50px}.contact-copy h1{font-size:2.95rem;line-height:1.1;margin-bottom:25px}.contact-copy .lead{font-size:.97rem;line-height:1.7;margin-bottom:0}.contact-aside{margin-top:8px;padding-top:27px}.contact-aside h2{font-size:.88rem}.contact-aside .contact-phone{font-size:1.6rem}.request-panel{padding:25px 22px}.form-intro{font-size:.82rem;line-height:1.65;margin-bottom:22px;padding-bottom:20px}form label{font-size:.82rem;margin-bottom:20px}.form-grid{gap:0}.form-submit{font-size:.87rem}.privacy-note{font-size:.7rem}.request-panel #request-result h2{font-size:2.15rem;line-height:1.15}.request-panel #request-result>p:not(.eyebrow){font-size:.9rem}.result-actions>.button{font-size:.83rem;padding-inline:15px}
.footer-main{grid-template-columns:1fr;gap:30px;padding-block:43px 34px}.footer-brand{grid-column:auto}.footer-brand .brand{width:160px}.footer-brand p{font-size:.8rem;max-width:240px;margin-top:15px}.footer-main h2{margin:0 0 15px}.footer-main>div:not(:first-child) a{font-size:.85rem}.footer-main>div:not(:first-child) p{font-size:.77rem}.footer-bottom{flex-direction:column;align-items:flex-start;gap:5px;padding-block:19px 13px;font-size:.7rem}.footer-bottom .language-switch{margin-top:1px}
}
@media(max-width:360px){.wrap{width:calc(100% - 32px)}.header-inner{padding-inline:16px}.brand{width:118px}.language-switch{gap:3px;font-size:.68rem}.header-inner{gap:5px}.hero h1{font-size:3.2rem}.hero .eyebrow{font-size:.6rem}.hero-actions{gap:16px}.hero-actions .button{padding-inline:15px;font-size:.8rem}.hero-actions .text-link{font-size:.8rem}.hero-visual{height:230px}.service-card{gap:10px;grid-template-columns:1fr auto 16px}.service-card h3{font-size:1.17rem}.service-card p{font-size:.78rem}.service-price{font-size:.71rem}.service-card .arrow{width:16px}.visit-section .botanical{width:45px;right:-5px}.visit-section h2{font-size:2.22rem}.visit-details .button-row{gap:20px}.visit-details .button,.visit-details .text-link{font-size:.78rem}.request-panel{padding:22px 18px}.contact-copy h1{font-size:2.65rem}.page-heading h1{font-size:2.75rem}.about-page h1{font-size:2.65rem}.gift-band{width:calc(100% - 32px)}.location-info .button-row{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Soft details retain the same page structure and information hierarchy. */
.eyebrow{letter-spacing:.075em}
.contact-aside h2,.footer-main h2{font-family:var(--sans);font-weight:600}
.request-panel,.gift-band{border-radius:18px}
.button{font-weight:600;letter-spacing:.005em}
input:focus,select:focus,textarea:focus{border-color:#4c6549}
input::placeholder,textarea::placeholder{opacity:1}

/* Offers use the same open rows, palette and controls as the price list. */
.offers-page{padding-bottom:90px}
.offers-list{border-top:1px solid var(--line)}
.offer-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:40px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}
.offer-row h2{font-size:1.85rem;line-height:1.25;margin:0}
.offer-duration{margin:8px 0 0;color:var(--muted);font-size:.9rem}
.offer-price{font-size:1.2rem;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.offers-more{margin-top:32px}
@media(max-width:640px){
  .offers-page{padding-bottom:55px}
  .offer-row{grid-template-columns:1fr auto;gap:18px;padding-block:26px}
  .offer-row>div{grid-column:1/-1}
  .offer-row h2{font-size:1.6rem;max-width:360px}
  .offer-price{font-size:1.08rem}
  .offer-duration{font-size:.85rem}
  .offers-more{margin-top:28px}
}
