@font-face{font-family:Jost;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/jost-300.woff2) format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jost-400.woff2) format("woff2")}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jost-500.woff2) format("woff2")}:root{--bg: #ffffff;--surface: #ffffff;--surface-soft: #f5f7f6;--text: #2f3231;--text-soft: #5a605c;--sage: #a3b8b4;--sage-deep: #5f7873;--sage-mid: #7e938e;--sage-light: #d5e1df;--accent: #9e5468;--line: #e8edeb;--maxw: 1120px;--radius: 10px;--shadow: 0 18px 50px -24px rgba(47, 50, 49, .22);--font: "Jost", "Avenir Next", "Century Gothic", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.75;font-size:1.05rem;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font);font-weight:300;line-height:1.2;color:var(--text);letter-spacing:.005em}h1{font-size:clamp(2.4rem,6vw,4rem);margin:0 0 .4em}h2{font-size:clamp(1.7rem,3.6vw,2.5rem);margin:0 0 .6em}h3{font-size:1.3rem;font-weight:400;margin:0 0 .4em}p{margin:0 0 1.1em}a{color:var(--sage-deep)}img{max-width:100%;height:auto;display:block}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.6rem}section{padding:clamp(3.5rem,9vw,7rem) 0}.section-soft{background:var(--surface-soft)}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:500;color:var(--accent);margin-bottom:1rem}.lead{font-size:1.25rem;font-weight:300;color:var(--text-soft);max-width:60ch}.btn{display:inline-block;background:var(--sage);color:var(--text);padding:.85rem 1.7rem;border-radius:999px;text-decoration:none;font-weight:500;letter-spacing:.02em;transition:background .2s,transform .2s,box-shadow .2s;border:none;cursor:pointer;font-size:1rem;font-family:inherit}.btn:hover{background:#8fa9a4;transform:translateY(-2px);box-shadow:var(--shadow)}.btn-outline{background:transparent;color:var(--sage-deep);border:1.5px solid var(--sage-mid)}.btn-outline:hover{background:var(--sage-light);color:var(--text);border-color:var(--sage);box-shadow:none}.site-header{position:sticky;top:0;z-index:50;background:#ffffffe6;backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.6rem;max-width:var(--maxw);margin:0 auto}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text)}.brand-mark{width:38px;height:38px;color:var(--sage-deep);flex-shrink:0}.brand-text{font-size:1.35rem;font-weight:400;letter-spacing:.03em;line-height:1.1}.brand-text span{display:block;font-size:.68rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--text-soft);margin-top:2px}.nav-links{display:flex;gap:1.6rem;align-items:center;list-style:none;margin:0;padding:0}.nav-links a{color:var(--text);text-decoration:none;font-size:.97rem;font-weight:400}.nav-links a:hover{color:var(--sage-deep)}.nav-links a.btn,.nav-links a.btn:hover{color:var(--text)}.nav-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--text)}.hero{padding:clamp(3rem,7vw,6rem) 0}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.hero-portrait{width:100%;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover;aspect-ratio:4 / 5}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}.media-rounded{border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover;width:100%;max-height:560px}.img-harmonize{filter:saturate(.82) brightness(1.03) sepia(.06)}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2.1rem 2.2rem;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card .price{color:var(--sage-deep);font-size:1.1rem;font-weight:500;margin-top:.6rem}.image-band{position:relative;padding:clamp(4rem,12vw,8rem) 0;background-size:cover;background-position:center 35%;text-align:center}.image-band .wrap{max-width:760px;position:relative;z-index:1}.image-band h2{color:var(--text);font-size:clamp(1.6rem,3.5vw,2.3rem)}.image-band p{color:var(--text);font-size:1.1rem;margin:0}.image-band .scrim{position:absolute;inset:0;background:#ffffff8c}.koru-band{background:#fff;text-align:center}.koru-band .wrap{max-width:720px}ul.clean{list-style:none;padding:0;margin:.4rem 0 1.2em}ul.clean li{padding:.7rem .5rem .7rem 1.8rem;position:relative;border-bottom:1px solid var(--line)}ul.clean li:last-child{border-bottom:none}ul.clean li:before{content:"";position:absolute;left:.2rem;top:1.35rem;width:7px;height:7px;border-radius:50%;background:var(--sage-mid)}.qual{display:grid;grid-template-columns:auto 1fr;gap:.1rem 1.4rem}.qual dt{color:var(--sage-deep);font-weight:500;padding:.55rem 0}.qual dd{margin:0;padding:.55rem 0;border-bottom:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,3.5rem);align-items:start}.contact-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius);padding:2.2rem}.contact-card dl{margin:0}.contact-card dt{font-weight:500;color:var(--text);margin-top:1rem}.contact-card dd{margin:.15rem 0 0}.contact-card a{color:var(--sage-deep)}form label{display:block;font-weight:500;margin:1rem 0 .3rem;font-size:.95rem}form input,form textarea{width:100%;padding:.8rem;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:1rem;background:#fff}form input:focus,form textarea:focus{outline:2px solid var(--sage);border-color:var(--sage)}.form-note{font-size:.82rem;color:var(--text-soft);margin-top:.8rem}.site-footer{background:var(--surface-soft);color:var(--text-soft);padding:3.5rem 0 2.5rem;font-size:.92rem;border-top:1px solid var(--line)}.site-footer strong{color:var(--text);font-weight:500}.site-footer a{color:var(--sage-deep);text-decoration:none}.site-footer a:hover{text-decoration:underline}.footer-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.5rem}.footer-links{display:flex;gap:1.3rem;list-style:none;padding:0;margin:0}.map-embed{width:100%;border:0;border-radius:var(--radius);box-shadow:var(--shadow);min-height:340px}.photo-ph{border-radius:var(--radius);background:var(--sage-light);border:1px dashed var(--sage-mid);min-height:300px;display:flex;align-items:center;justify-content:center;color:var(--sage-deep);font-size:.95rem;letter-spacing:.04em}.stars{color:#e0a93b;letter-spacing:2px;font-size:1.15rem;line-height:1}.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}.hero-rating{display:inline-flex;align-items:center;margin-top:1.2rem;color:var(--text-soft);font-size:.98rem;text-decoration:none;width:fit-content}.hero-rating strong{color:var(--text);font-weight:500;margin-right:.25rem}.hero-rating .stars{margin-right:.4rem}.hero-rating:hover,.hero-rating:hover strong{color:var(--sage-deep)}.rating-badge{margin-top:1rem;color:var(--text-soft);font-size:1.05rem}.rating-badge strong{color:var(--text);font-weight:500}.rating-badge .stars{font-size:1.3rem;vertical-align:middle;margin-right:.4rem}.review{margin:0}.review blockquote{margin:.9rem 0 1.1rem;padding:0;color:var(--text);font-size:1.02rem;line-height:1.65}.review figcaption{color:var(--text-soft);font-size:.92rem;font-weight:500}.faq{max-width:800px;margin:2rem auto 0}.faq details{border-bottom:1px solid var(--line);padding:.4rem 0}.faq summary{cursor:pointer;list-style:none;padding:1.1rem 2.2rem 1.1rem 0;font-size:1.12rem;font-weight:400;color:var(--text);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:300;color:var(--sage-deep);transition:transform .2s}.faq details[open] summary:after{content:"–"}.faq details[open] summary{color:var(--sage-deep)}.faq .answer{padding:0 0 1.2rem;color:var(--text-soft);max-width:70ch}.prose{max-width:760px;color:var(--text-soft)}.prose h2{margin-top:2.2rem}.prose h3{margin-top:1.5rem;color:var(--text);font-weight:500}@media (max-width: 860px){.hero-grid,.split,.contact-grid,.grid-2,.grid-3{grid-template-columns:1fr}.hero-portrait{max-width:420px;margin:0 auto;aspect-ratio:4 / 5}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;padding:1rem 1.6rem;border-bottom:1px solid var(--line);gap:1rem}.nav-links.open{display:flex}.nav-toggle{display:block}}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}
