@import"https://fonts.googleapis.com/css2?family=Lustria&family=Alex+Brush&family=Roboto:wght@300;400;500;700&display=swap";:root{--white: #ffffff;--paper: #fafafa;--mist: #f5f5f5;--cloud: #efefef;--pebble: #e3e3e3;--ink: #222222;--ink-soft: #2d2d2d;--graphite: #444444;--slate: #555555;--stone: #727475;--whisper: #b7b7b7;--rose: #efa697;--rose-deep: #d68b7d;--rose-soft: #fbe5df;--rose-mist: #fdf3f0;--coral: #fe6d70;--coral-deep: #e35759;--mauve: #b7948e;--rule: rgba(34, 34, 34, .08);--rule-strong: rgba(34, 34, 34, .16);--rule-rose: rgba(239, 166, 151, .45);--shadow-soft: 0 30px 70px -32px rgba(34, 34, 34, .18);--shadow-deep: 0 60px 120px -36px rgba(34, 34, 34, .28);--serif: "Lustria", Georgia, "Times New Roman", serif;--script: "Alex Brush", "Brush Script MT", cursive;--sans: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--sans);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--white);overflow-x:hidden;font-weight:400}a{color:inherit;text-decoration:none}img,svg{max-width:100%}img,video{display:block}button{font:inherit;cursor:pointer}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.12;margin:0 0 1.4rem;color:var(--ink)}h1{font-size:clamp(2.6rem,6.5vw,5.6rem);letter-spacing:-.018em;line-height:1.06}h2{font-size:clamp(2.1rem,4.4vw,3.8rem);letter-spacing:-.012em}h3{font-size:clamp(1.3rem,1.9vw,1.65rem);letter-spacing:-.005em;font-weight:400}h4{font-size:1.05rem;font-family:var(--serif);font-weight:400;letter-spacing:0;line-height:1.35}p{margin:0 0 1rem;color:var(--graphite);line-height:1.75;font-size:.98rem;font-weight:400}p.lede{font-size:clamp(1.05rem,1.3vw,1.18rem);line-height:1.65;color:var(--ink-soft);max-width:56ch;font-weight:300}.script{font-family:var(--script);font-weight:400;font-style:normal;color:var(--coral);font-size:1.4em;line-height:1;letter-spacing:0}::selection{background:var(--rose);color:var(--white)}.container{width:min(1240px,calc(100% - 48px));margin:0 auto}.section{padding:clamp(4.5rem,9vw,8rem) 0;position:relative}.section.tinted{background:var(--mist)}.eyebrow{display:inline-flex;align-items:center;gap:.7rem;margin:0 0 1.5rem;font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--rose-deep)}.eyebrow:before{content:"";width:28px;height:1px;background:var(--rose)}.eyebrow.center{justify-content:center}.eyebrow.script{font-family:var(--script);text-transform:none;letter-spacing:0;font-size:1.7rem;color:var(--coral);font-weight:400}.eyebrow.script:before{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.95rem 1.8rem;font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--white);background:var(--coral);border:1px solid var(--coral);border-radius:4px;position:relative;overflow:hidden;transition:background .35s ease,border-color .35s ease,color .35s ease,transform .35s ease;isolation:isolate}.button:hover{background:var(--coral-deep);border-color:var(--coral-deep);transform:translateY(-2px)}.button .arrow{display:inline-block;transition:transform .45s cubic-bezier(.6,.05,.2,1)}.button:hover .arrow{transform:translate(4px)}.button.rose{background:var(--rose);border-color:var(--rose);color:var(--white)}.button.rose:hover{background:var(--rose-deep);border-color:var(--rose-deep)}.button.dark{background:var(--ink);border-color:var(--ink)}.button.dark:hover{background:var(--coral);border-color:var(--coral)}.button.ghost{background:transparent;border-color:var(--ink);color:var(--ink)}.button.ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--white)}.button.on-dark.ghost{border-color:#ffffff80;color:var(--white)}.button.on-dark.ghost:hover{background:var(--white);color:var(--ink)}.link-arrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--ink);padding-bottom:4px;position:relative;transition:color .3s ease}.link-arrow:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--rose);transform-origin:right;transform:scaleX(1);transition:transform .5s cubic-bezier(.6,.05,.2,1)}.link-arrow:hover{color:var(--coral)}.link-arrow:hover:after{transform:scaleX(0);animation:linkRedraw .9s cubic-bezier(.6,.05,.2,1) .18s forwards}@keyframes linkRedraw{0%{transform-origin:left;transform:scaleX(0)}to{transform-origin:left;transform:scaleX(1)}}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border-bottom:1px solid var(--rule)}.nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2.5rem;padding:1.1rem 0}.brand{display:inline-flex;align-items:center;gap:.85rem;color:var(--ink)}.brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--white);border:1px solid var(--rose);position:relative;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.site-header:hover .brand-mark{transform:rotate(8deg)}.brand-mark:before{content:"";position:absolute;inset:4px;border-radius:50%;border:1px solid var(--rose-soft)}.brand-mark span{font-family:var(--script);font-size:1.6rem;color:var(--coral);line-height:1;margin-top:6px}.brand-words{display:grid;line-height:1}.brand-words .name{font-family:var(--serif);font-weight:400;font-size:1.18rem;letter-spacing:.02em;color:var(--ink)}.brand-words .name .ornate{font-family:var(--script);color:var(--coral);font-size:1.4em;letter-spacing:0;margin:0 2px}.brand-words .tag{font-family:var(--sans);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--stone);margin-top:5px;font-weight:400}.nav-links{display:flex;justify-content:center;gap:2.4rem;align-items:center;font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.nav-links a{position:relative;color:var(--graphite);padding:6px 0;transition:color .3s ease}.nav-links a:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--coral);transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.6,.05,.2,1)}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{transform:scaleX(1);transform-origin:left}.nav-cta{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.4rem;font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--white);background:var(--coral);border-radius:4px;transition:background .35s ease,transform .35s ease}.nav-cta:hover{background:var(--coral-deep);transform:translateY(-2px)}.hero{position:relative;min-height:clamp(620px,90vh,860px);background:var(--white);color:var(--ink);overflow:hidden;isolation:isolate}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,#fffffff2,#ffffffb3 38%,#ffffff1a 65%,#2222224d);pointer-events:none}.hero-grid{position:relative;z-index:3;min-height:clamp(620px,90vh,860px);display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center;padding:clamp(60px,8vh,100px) 0}.hero-copy{padding-right:2rem}.hero h1{font-size:clamp(2.8rem,6.8vw,5.8rem);margin:0 0 1.6rem;line-height:1.04;color:var(--ink)}.hero h1 .ornate{font-family:var(--script);color:var(--coral);font-weight:400;font-size:1.15em;letter-spacing:0;white-space:nowrap;display:inline-block;line-height:.85}.hero h1 .word{display:inline-block;opacity:0;transform:translateY(.3em);animation:heroReveal 1.1s cubic-bezier(.2,.7,.2,1) forwards}.hero h1 .word:nth-child(1){animation-delay:.05s}.hero h1 .word:nth-child(2){animation-delay:.18s}.hero h1 .word:nth-child(3){animation-delay:.32s}.hero h1 .word:nth-child(4){animation-delay:.45s}@keyframes heroReveal{to{opacity:1;transform:translateY(0)}}.hero-copy .lede{margin-bottom:2rem;opacity:0;animation:heroFade 1s ease .7s forwards;max-width:48ch}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.2rem;opacity:0;animation:heroFade 1s ease .85s forwards}.hero-meta{display:grid;grid-template-columns:repeat(3,auto);gap:2rem;align-items:center;padding-top:1.6rem;border-top:1px solid var(--rule);opacity:0;animation:heroFade 1s ease 1s forwards;font-family:var(--sans);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone)}.hero-meta strong{display:block;font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--ink);letter-spacing:-.01em;text-transform:none;margin-bottom:4px;line-height:1}.hero-visual{position:relative;aspect-ratio:4/5;opacity:0;animation:heroFade 1.4s ease .5s forwards}.hero-visual .frame{position:absolute;inset:0;overflow:hidden;border-radius:6px}.hero-visual .frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 8s ease-out}.hero-visual:hover .frame img{transform:scale(1.08)}.hero-visual .badge{position:absolute;top:-22px;right:-22px;width:130px;height:130px;border-radius:50%;background:var(--coral);color:var(--white);display:grid;place-items:center;text-align:center;font-family:var(--script);font-size:1.6rem;line-height:1.1;letter-spacing:0;box-shadow:0 18px 40px -16px #fe6d708c;animation:badgeSpin 24s linear infinite}@keyframes badgeSpin{to{transform:rotate(360deg)}}.hero-visual .badge span{display:block;transform:rotate(-8deg)}.hero-visual .caption{position:absolute;left:-20px;bottom:32px;background:var(--white);padding:1rem 1.4rem;display:grid;gap:.2rem;box-shadow:var(--shadow-soft);border-left:3px solid var(--coral);max-width:240px}.hero-visual .caption .who{font-family:var(--serif);font-size:1rem;color:var(--ink)}.hero-visual .caption .what{font-family:var(--sans);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--stone)}@keyframes heroFade{to{opacity:1}}.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translate(-50%);z-index:4;display:grid;justify-items:center;gap:.7rem;font-family:var(--sans);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--stone);opacity:0;animation:heroFade 1.2s ease 1.4s forwards}.hero-scroll .line{width:1px;height:36px;background:linear-gradient(180deg,transparent,var(--coral),transparent);animation:scrollPulse 2.4s ease-in-out infinite}@keyframes scrollPulse{0%,to{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1)}}.manifesto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}.manifesto .side{font-family:var(--sans);font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);padding-top:1.2rem;border-top:1px solid var(--rule)}.manifesto .side.right{text-align:right}.manifesto .side strong{display:block;color:var(--ink);margin-top:.4rem;font-weight:500}.manifesto .body{font-family:var(--serif);font-weight:400;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.42;color:var(--ink-soft);letter-spacing:-.005em}.manifesto .body .ornate{font-family:var(--script);color:var(--coral);font-size:1.3em;line-height:.9}.section-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end;margin-bottom:clamp(3rem,6vw,4.5rem)}.section-head .lede{color:var(--slate)}.section-head h1,.section-head h2{margin-bottom:0}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.6rem,3vw,2.4rem)}.service-card{position:relative;display:grid;gap:1.2rem;background:var(--white);border:1px solid var(--rule);border-radius:6px;overflow:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease,border-color .4s ease}.service-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--rose)}.service-card .media{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--mist)}.service-card .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.service-card:hover .media img{transform:scale(1.06)}.service-card .media .cat{position:absolute;top:16px;left:16px;z-index:2;background:var(--white);padding:6px 12px;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--coral);border-radius:2px}.service-card .body{display:grid;gap:.7rem;padding:1.6rem 1.6rem 1.8rem}.service-card h3{margin:0;font-size:clamp(1.3rem,1.8vw,1.6rem);color:var(--ink)}.service-card .blurb{color:var(--graphite);font-size:.92rem;line-height:1.65;margin:0}.durations{display:flex;flex-wrap:wrap;gap:.5rem;margin:.4rem 0 0;padding:0;list-style:none}.durations li{padding:4px 10px;background:var(--rose-mist);color:var(--rose-deep);font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.06em;border-radius:999px}.service-card .price-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;margin-top:.4rem;border-top:1px solid var(--rule)}.price{font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--ink)}.split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center}.split.reverse{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.split-img{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:6px}.split-img img{width:100%;height:100%;object-fit:cover;transition:transform 8s ease-out}.split-img:hover img{transform:scale(1.05)}.split-img .stamp{position:absolute;bottom:24px;left:24px;background:var(--white);padding:.9rem 1.2rem;font-family:var(--script);font-size:1.6rem;color:var(--coral);border-radius:4px;box-shadow:var(--shadow-soft);line-height:1}.movements{display:grid;gap:0;margin-top:1rem}.movement{display:grid;grid-template-columns:56px 1fr;gap:1.5rem;padding:1.4rem 0;border-top:1px solid var(--rule);align-items:start}.movement:last-child{border-bottom:1px solid var(--rule)}.movement .num{font-family:var(--script);font-size:2.2rem;color:var(--coral);line-height:1}.movement h4{margin:0 0 .4rem;font-size:1.3rem}.movement p{margin:0;font-size:.92rem;line-height:1.65;color:var(--graphite)}.ribbon{position:relative;background:var(--ink);color:var(--white);padding:clamp(3.5rem,7vw,6rem) clamp(2rem,5vw,4.5rem);border-radius:6px;overflow:hidden;isolation:isolate}.ribbon:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 600px 320px at 85% 15%,rgba(254,109,112,.25),transparent 65%),radial-gradient(ellipse 400px 200px at 12% 90%,rgba(239,166,151,.18),transparent 65%);z-index:-1}.ribbon .ornament{position:absolute;font-family:var(--script);color:#fe6d702e;user-select:none;pointer-events:none;font-size:clamp(11rem,20vw,20rem);bottom:-3rem;right:-1rem;line-height:.8}.ribbon-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end;position:relative;z-index:2}.ribbon h2{color:var(--white);margin:0 0 .8rem;font-size:clamp(2rem,4vw,3.4rem)}.ribbon h2 .ornate{font-family:var(--script);color:var(--rose);font-size:1.2em}.ribbon p{color:#ffffffbd;max-width:50ch;margin:0 0 .5rem}.ribbon .actions{display:flex;flex-direction:column;gap:.7rem;align-items:flex-end}.ribbon .actions .button{min-width:240px}.site-footer{background:var(--mist);color:var(--ink);padding:clamp(4rem,7vw,6rem) 0 2rem;position:relative;overflow:hidden}.site-footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--coral),transparent);opacity:.7}.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:clamp(2rem,4vw,4rem);margin-bottom:3rem;padding-bottom:3rem;border-bottom:1px solid var(--rule)}.footer-mark{display:grid;gap:1.2rem;align-content:start}.footer-mark .wordmark{font-family:var(--serif);font-weight:400;font-size:2rem;letter-spacing:-.01em;line-height:1;color:var(--ink)}.footer-mark .wordmark .ornate{font-family:var(--script);color:var(--coral);font-size:1.4em;line-height:.9;margin:0 4px}.footer-mark p{color:var(--slate);max-width:30ch;font-size:.92rem;line-height:1.7}.footer-col h5{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--rose-deep);margin:0 0 1.2rem}.footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.footer-col li,.footer-col a{font-family:var(--sans);font-size:.92rem;color:var(--graphite)}.footer-col a{position:relative;display:inline-block;padding-bottom:1px;transition:color .3s ease}.footer-col a:hover{color:var(--coral)}.social-list{gap:.55rem!important}.social-link{display:inline-flex;align-items:center;gap:.7rem;padding:.45rem 0;color:var(--graphite);transition:color .3s ease,transform .3s ease}.social-link svg{flex:none;color:var(--coral);transition:transform .4s cubic-bezier(.6,.05,.2,1)}.social-link:hover{color:var(--coral);transform:translate(2px)}.social-link:hover svg{transform:scale(1.08) rotate(-4deg)}.social-link .muted{color:var(--stone);font-size:.86em;margin-left:.2rem}.footer-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone)}.reveal{opacity:0;transform:translateY(20px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.6rem,3vw,2rem)}.gift-card{position:relative;padding:clamp(2rem,3vw,2.6rem);background:var(--white);border:1px solid var(--rule);border-radius:6px;display:grid;gap:1rem;transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease,border-color .4s ease}.gift-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--rose)}.gift-card.featured{background:var(--ink);color:var(--white);border-color:var(--ink)}.gift-card.featured h3,.gift-card.featured .price{color:var(--white)}.gift-card.featured .blurb{color:#ffffffc7}.gift-card.featured .durations li{background:#ffffff14;color:var(--rose)}.gift-card.featured .price-row{border-color:#ffffff2e}.gift-card.featured .num{color:var(--rose)}.gift-card .num{font-family:var(--script);font-size:2.2rem;color:var(--coral);line-height:1}.gift-card h3{margin:0;font-size:clamp(1.4rem,1.8vw,1.7rem)}.gift-card .blurb{margin:0;font-size:.92rem;line-height:1.65;color:var(--graphite)}.gift-card .price-row{padding-top:1.2rem;border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.gift-card .featured-tag{position:absolute;top:-1px;right:16px;background:var(--coral);color:var(--white);padding:4px 12px;font-family:var(--sans);font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;border-radius:0 0 3px 3px}.booking-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);background:var(--white);border:1px solid var(--rule);border-radius:6px;position:relative;overflow:hidden}.booking-card .body{padding:clamp(2.5rem,5vw,4.5rem)}.booking-card .body h2{margin-bottom:1.2rem}.booking-card .visual{background:var(--ink);position:relative;min-height:460px;overflow:hidden}.booking-card .visual:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 500px 300px at 70% 30%,rgba(254,109,112,.22),transparent 65%)}.booking-card .visual .calendar-art{position:absolute;inset:0;display:grid;place-items:center;align-content:center;text-align:center;z-index:2}.booking-card .visual .month{font-family:var(--script);font-size:clamp(2.4rem,5vw,3.6rem);color:var(--coral);margin-bottom:1.2rem;line-height:1}.booking-card .visual .grid-mini{display:grid;grid-template-columns:repeat(7,30px);gap:6px;font-family:var(--sans);font-size:.7rem;color:#ffffff8c;margin:0 auto}.booking-card .visual .grid-mini span{display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.1)}.booking-card .visual .grid-mini span.active{background:var(--coral);color:var(--white);border-color:var(--coral);font-weight:600}.booking-list{list-style:none;margin:1.4rem 0 2rem;padding:0;display:grid;gap:.7rem;font-family:var(--sans);font-size:.94rem;color:var(--graphite)}.booking-list li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:baseline}.booking-list li:before{content:"—";color:var(--coral)}.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.strip-tile{position:relative;aspect-ratio:1;overflow:hidden;background:var(--mist)}.strip-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease,filter .6s ease;filter:saturate(.95)}.strip-tile:hover img{transform:scale(1.06);filter:saturate(1.1)}.contact-shell{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,5vw,4rem);align-items:start}.contact-aside{background:var(--mist);padding:clamp(1.8rem,3vw,2.6rem);border-radius:6px;position:relative;overflow:hidden}.contact-aside:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--coral),var(--rose))}.contact-aside h3{font-family:var(--script);font-size:2.2rem;color:var(--coral);margin:0 0 1.5rem;line-height:1}.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:1.4rem}.contact-list li{display:grid;gap:.35rem}.contact-list .lbl{font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--rose-deep)}.contact-list .val{font-family:var(--sans);font-size:.94rem;color:var(--graphite);line-height:1.6}.contact-list .val a{color:var(--ink);border-bottom:1px solid transparent;transition:color .3s ease,border-color .3s ease}.contact-list .val a:hover{color:var(--coral);border-bottom-color:var(--coral)}.contact-list .val strong{color:var(--ink);font-weight:500}.contact-form{background:var(--white);border:1px solid var(--rule);border-radius:6px;padding:clamp(1.8rem,3vw,2.6rem);display:grid;gap:1.2rem}.field{display:grid;gap:.45rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.field label{font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--graphite)}.field label span[aria-hidden]{color:var(--coral);margin-left:2px}.field input,.field select,.field textarea{font-family:var(--sans);font-size:.96rem;color:var(--ink);background:var(--paper);border:1px solid var(--rule-strong);border-radius:3px;padding:.85rem 1rem;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease;font-weight:400;width:100%}.field textarea{resize:vertical;min-height:140px;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:var(--whisper)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--rose)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--coral);background:var(--white);box-shadow:0 0 0 3px #fe6d7024}.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='none' stroke='%23fe6d70' stroke-width='1.6' stroke-linecap='round' d='M1 1l5 5 5-5'/></svg>");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.6rem}.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.form-foot{display:grid;grid-template-columns:1fr auto;gap:1.2rem;align-items:center;margin-top:.4rem;padding-top:1.2rem;border-top:1px solid var(--rule)}.form-foot .legal{margin:0;font-size:.78rem;color:var(--stone);line-height:1.55;max-width:38ch}.form-foot .button{margin:0}.form-status{padding:1rem 1.2rem;border-radius:4px;font-family:var(--sans);font-size:.92rem;line-height:1.5;border:1px solid var(--rule)}.form-status[data-kind=ok]{background:var(--rose-mist);border-color:var(--rose);color:var(--rose-deep)}.form-status[data-kind=err]{background:#fff3f3;border-color:var(--coral);color:var(--coral-deep)}.testimonials-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(1.4rem,2.5vw,2rem);align-items:stretch}.testimonial{position:relative;margin:0;padding:clamp(1.6rem,2.5vw,2.4rem) clamp(1.6rem,2.5vw,2rem) clamp(1.4rem,2vw,1.8rem);background:var(--white);border:1px solid var(--rule);border-radius:6px;display:grid;grid-template-rows:auto 1fr auto;gap:1rem;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,border-color .4s ease}.testimonial:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:var(--rose)}.testimonial.featured{background:var(--ink);color:var(--white);border-color:var(--ink)}.testimonial.featured blockquote{color:var(--white)}.testimonial.featured figcaption strong{color:var(--white)}.testimonial.featured figcaption span{color:#fff9}.testimonial.featured .qmark{color:var(--coral)}.testimonial .qmark{position:absolute;top:8px;left:18px;font-family:var(--serif);font-style:italic;font-size:5rem;color:var(--rose);line-height:.7;pointer-events:none;user-select:none}.testimonial blockquote{margin:0;padding:0;font-family:var(--serif);font-weight:400;font-style:normal;font-size:clamp(1rem,1.3vw,1.12rem);line-height:1.55;color:var(--ink-soft);border:none;background:none}.testimonial figcaption{display:grid;gap:2px;padding-top:.8rem;border-top:1px solid var(--rule)}.testimonial.featured figcaption{border-top-color:#ffffff2e}.testimonial figcaption strong{font-family:var(--sans);font-size:.92rem;font-weight:500;color:var(--ink);letter-spacing:-.005em}.testimonial figcaption span{font-family:var(--sans);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone)}.google-cta{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center;justify-content:center;margin-top:clamp(2rem,4vw,3rem);padding-top:2rem;border-top:1px solid var(--rule)}.google-pill{display:inline-flex;align-items:center;gap:.7rem;padding:.85rem 1.4rem;background:var(--white);border:1px solid var(--rule-strong);border-radius:999px;font-family:var(--sans);font-size:.86rem;font-weight:500;color:var(--ink);transition:transform .4s ease,box-shadow .4s ease,border-color .3s ease}.google-pill:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft);border-color:var(--coral)}.google-pill .stars{color:#fbbc05;letter-spacing:.04em;font-size:.95rem;line-height:1}.google-pill .arrow{transition:transform .4s cubic-bezier(.6,.05,.2,1);color:var(--stone)}.google-pill:hover .arrow{transform:translate(4px);color:var(--coral)}.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-family:var(--sans);font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:1.4rem}.crumbs a{color:var(--rose-deep);transition:color .3s ease}.crumbs a:hover{color:var(--coral)}.crumbs span[aria-hidden]{color:var(--whisper)}.crumbs span[aria-current]{color:var(--ink)}.soin-hero{position:relative;background:var(--white);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--rule)}.soin-hero-bg{position:absolute;inset:0;z-index:0}.soin-hero-bg img{width:100%;height:100%;object-fit:cover;filter:blur(14px) saturate(.9);transform:scale(1.08);opacity:.25}.soin-hero-grid{position:relative;z-index:2;padding:clamp(2rem,5vw,4rem) 0 clamp(2.5rem,5vw,4rem);max-width:820px}.soin-hero h1{font-size:clamp(2.4rem,5.5vw,4.6rem);margin-bottom:1rem}.soin-hero .lede{color:var(--ink-soft);margin-bottom:1.6rem;max-width:50ch}.soin-hero-meta{display:grid;grid-template-columns:repeat(3,auto);gap:clamp(1.4rem,3vw,2.6rem);padding:1.2rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:1.6rem 0 1.8rem;width:fit-content}.soin-hero-meta .lbl{display:block;font-family:var(--sans);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--stone);margin-bottom:4px}.soin-hero-meta strong{font-family:var(--serif);font-weight:400;font-size:1.2rem;color:var(--ink)}.soin-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem}.soin-intro{max-width:820px}.lede.big{font-size:clamp(1.15rem,1.6vw,1.32rem);line-height:1.65;color:var(--ink-soft);font-weight:300}.soin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2rem);align-items:stretch}.soin-block{background:var(--white);border:1px solid var(--rule);border-radius:6px;padding:clamp(1.6rem,2.5vw,2rem);display:grid;gap:1rem;align-content:start}.soin-block.alert{background:var(--rose-mist);border-color:var(--rose-soft)}.soin-block .micro{font-size:.78rem;color:var(--stone);margin:0;font-style:italic}.check-list,.dash-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.check-list li,.dash-list li{display:grid;grid-template-columns:18px 1fr;gap:.7rem;align-items:baseline;font-size:.94rem;line-height:1.55;color:var(--graphite)}.check-list li:before{content:"";width:14px;height:14px;border-radius:50%;background:var(--coral);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='black' d='M6.5 11.5L3 8l1.4-1.4L6.5 8.7l5.1-5.1L13 5l-6.5 6.5z'/></svg>") center / contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='black' d='M6.5 11.5L3 8l1.4-1.4L6.5 8.7l5.1-5.1L13 5l-6.5 6.5z'/></svg>") center / contain no-repeat;margin-top:4px}.dash-list li:before{content:"—";color:var(--coral);font-weight:500}.faq-list{display:grid;gap:0;background:var(--white);border:1px solid var(--rule);border-radius:6px}.faq-item{border-bottom:1px solid var(--rule)}.faq-item:last-child{border-bottom:none}.faq-item summary{display:grid;grid-template-columns:50px 1fr 30px;gap:1rem;align-items:baseline;padding:1.4rem 1.6rem;cursor:pointer;list-style:none;font-family:var(--serif);font-size:1.15rem;color:var(--ink);transition:background .3s ease}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{background:var(--mist)}.faq-item .q-num{font-family:var(--script);font-size:1.6rem;color:var(--coral);line-height:1}.faq-item .q-icon{font-family:var(--sans);font-size:1.6rem;color:var(--coral);text-align:center;transition:transform .4s cubic-bezier(.6,.05,.2,1);font-weight:300}.faq-item[open] .q-icon{transform:rotate(45deg)}.faq-body{padding:0 1.6rem 1.6rem 4.8rem}.faq-body p{margin:0;color:var(--graphite);font-size:.95rem;line-height:1.7}.related-post,.related-service{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(1.5rem,3vw,2.5rem);background:var(--white);border:1px solid var(--rule);border-radius:6px;overflow:hidden;align-items:center;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s ease,border-color .4s ease}.related-post:hover,.related-service:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:var(--rose)}.related-post-img,.related-service-img{aspect-ratio:4/3;overflow:hidden}.related-post-img img,.related-service-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.related-post:hover .related-post-img img,.related-service:hover .related-service-img img{transform:scale(1.04)}.related-post-body,.related-service-body{padding:clamp(1.5rem,3vw,2.4rem) clamp(1.5rem,3vw,2.4rem) clamp(1.5rem,3vw,2.4rem) 0;display:grid;gap:.8rem}.related-post-body h3,.related-service-body h3{margin:0;font-size:clamp(1.4rem,2vw,1.85rem)}.related-post-body .lede,.related-service-body .lede{margin:0;font-size:1rem}.related-service-body .micro{margin:0;font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rose-deep)}.other-card{display:grid;gap:.8rem;background:transparent;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.other-card:hover{transform:translateY(-4px)}.other-card .media{aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--mist)}.other-card .media img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.other-card:hover .media img{transform:scale(1.05)}.other-card .body{display:grid;gap:.4rem;padding:0 4px}.other-card .cat-text{font-family:var(--sans);font-size:.66rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--coral)}.other-card h3{margin:0;font-size:clamp(1.15rem,1.6vw,1.4rem)}.other-card .micro{margin:0;font-family:var(--sans);font-size:.82rem;color:var(--stone)}.post-feature{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(2rem,4vw,3rem);align-items:center;background:var(--white);border:1px solid var(--rule);border-radius:6px;overflow:hidden;margin-bottom:clamp(2rem,4vw,3.5rem);transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease,border-color .4s ease}.post-feature:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--rose)}.post-feature .media{aspect-ratio:4/3;overflow:hidden;background:var(--mist)}.post-feature .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.post-feature:hover .media img{transform:scale(1.05)}.post-feature .body{padding:clamp(1.8rem,3vw,2.6rem) clamp(1.8rem,3vw,3rem) clamp(1.8rem,3vw,2.6rem) 0;display:grid;gap:.8rem;align-content:center}.post-feature h2{margin:0;font-size:clamp(1.7rem,2.6vw,2.4rem)}.post-feature .lede{margin:0}.post-feature .meta{font-family:var(--sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin:0}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.6rem,3vw,2.4rem)}.post-card{display:grid;gap:1rem;background:var(--white);border:1px solid var(--rule);border-radius:6px;overflow:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1),box-shadow .55s ease,border-color .4s ease}.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-soft);border-color:var(--rose)}.post-card .media{aspect-ratio:4/3;overflow:hidden;background:var(--mist)}.post-card .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.post-card:hover .media img{transform:scale(1.05)}.post-card .body{padding:0 1.4rem 1.6rem;display:grid;gap:.6rem}.post-card .meta{font-family:var(--sans);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin:0}.post-card h3{margin:0;font-size:clamp(1.25rem,1.7vw,1.5rem);line-height:1.18}.post-card .excerpt{margin:0;color:var(--graphite);font-size:.92rem;line-height:1.6}.post-hero{background:var(--mist);padding:clamp(3rem,6vw,5rem) 0 0;position:relative}.post-hero h1{font-size:clamp(2.2rem,5vw,4rem);max-width:26ch;margin:0 0 1rem}.post-hero .meta{font-family:var(--sans);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--rose-deep);margin:0 0 1.4rem}.post-hero .lede.big{max-width:60ch;margin-bottom:2.6rem}.post-hero-img{aspect-ratio:21/9;overflow:hidden;margin-top:2rem}.post-hero-img img{width:100%;height:100%;object-fit:cover}.post-body{max-width:720px}.post-body h2{font-family:var(--serif);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:400;letter-spacing:-.01em;margin:2.2rem 0 .9rem;color:var(--ink);position:relative;padding-left:1.2rem}.post-body h2:before{content:"";position:absolute;left:0;top:.8em;width:12px;height:1px;background:var(--coral)}.post-body p{font-size:1.05rem;line-height:1.8;color:var(--ink-soft);margin:0 0 1.2rem;font-weight:400}.post-body ul{margin:1.2rem 0;padding-left:1.4rem;display:grid;gap:.5rem;color:var(--ink-soft)}.post-body ul li{line-height:1.7}.post-body ul li::marker{color:var(--coral)}.post-body blockquote{margin:2rem 0;padding:1.4rem 1.6rem;border-left:3px solid var(--coral);background:var(--rose-mist);font-family:var(--serif);font-size:1.2rem;line-height:1.55;color:var(--ink);font-style:italic}.post-signature{margin-top:3rem;padding-top:1.4rem;border-top:1px solid var(--rule);font-family:var(--script);font-size:1.6rem;color:var(--coral);font-style:normal;line-height:1.2}.micro{font-family:var(--sans);font-size:.82rem;color:var(--stone);margin:0}@media(max-width:1080px){.nav-links{gap:1.6rem}.footer-grid{grid-template-columns:1fr 1fr}.strip{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.nav{grid-template-columns:auto auto;gap:1rem}.nav-links{display:none}.nav-cta{padding:.65rem 1rem;font-size:.62rem}.hero-grid{grid-template-columns:1fr;gap:2rem;padding:70px 0 60px}.hero-copy{padding-right:0}.hero-meta{gap:1.2rem;grid-template-columns:1fr 1fr}.hero-visual{aspect-ratio:1;max-width:420px;margin:0 auto;width:100%}.manifesto{grid-template-columns:1fr;gap:1.5rem}.manifesto .side{display:none}.section-head{grid-template-columns:1fr}.cards-grid,.gift-grid{grid-template-columns:1fr;gap:1.4rem}.split,.split.reverse,.ribbon-grid{grid-template-columns:1fr;gap:2rem}.ribbon .actions{align-items:flex-start}.ribbon .actions .button{width:100%}.booking-card{grid-template-columns:1fr}.booking-card .visual{min-height:280px}.footer-grid{grid-template-columns:1fr}.strip{grid-template-columns:repeat(2,1fr)}.contact-shell,.field-row,.form-foot{grid-template-columns:1fr}.form-foot .button{width:100%}.soin-grid{grid-template-columns:1fr}.soin-hero-meta{grid-template-columns:1fr 1fr;gap:1rem}.post-feature{grid-template-columns:1fr}.post-feature .body{padding:0 1.6rem 1.8rem}.post-grid,.related-post,.related-service{grid-template-columns:1fr}.related-post-body,.related-service-body{padding:0 1.5rem 1.8rem}.faq-item summary{grid-template-columns:36px 1fr 24px;padding:1.2rem;font-size:1.02rem}.faq-body{padding:0 1.2rem 1.4rem 3.6rem}.testimonials-grid{grid-template-columns:1fr}.google-cta{flex-direction:column;gap:1rem}}
