@font-face{font-family:Jost;src:url('/assets/jost-latin.woff2') format('woff2');font-display:swap;font-weight:300 600;font-style:normal}@font-face{font-family:Cormorant;src:url('/assets/cormorant-latin.woff2') format('woff2');font-display:swap;font-weight:400 600;font-style:normal}@font-face{font-family:Cormorant;src:url('/assets/cormorant-italic-latin.woff2') format('woff2');font-display:swap;font-weight:400 600;font-style:italic}
:root{--paper:#f3e8e1;--blush:#ead5cd;--ink:#321b16;--wine:#6b152b;--muted:#735f57;--line:rgba(77,39,31,.22);--serif:Cormorant,'Bodoni MT',Georgia,serif;--sans:Jost,'Futura','Century Gothic',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}body:has(dialog[open]){overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--wine);outline-offset:2px}button:disabled{cursor:default}img{display:block;max-width:100%;object-fit:cover}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance;font-feature-settings:'kern','liga','dlig'}h1{font-size:clamp(64px,7.8vw,128px);line-height:.93;letter-spacing:-.035em}h2{font-size:clamp(48px,5.5vw,82px);line-height:.98;letter-spacing:-.025em}h3{font-size:32px;line-height:1.1}em{color:var(--wine);font-weight:400;font-style:italic;letter-spacing:-.01em}p{line-height:1.7;text-wrap:pretty}button{border:0}::selection{background:#6b152b;color:#f3e8e1}[hidden]{display:none!important}.eyebrow{font-size:14.5px;line-height:1.5;font-weight:500;letter-spacing:.24em;color:var(--wine)}.section-space{padding:100px 6%}.button{font-weight:500;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:52px;padding:14px 26px;border-radius:50px;font-size:17px;line-height:1.25;transition:background .2s,color .2s,transform .2s;white-space:nowrap}.button svg{width:19px;height:19px}.button:hover{transform:translateY(-2px)}.button-solid{color:#fff8f1;background:var(--wine);border:1px solid var(--wine)}.button-solid:hover{background:#501022}.button-outline{color:var(--wine);border:1px solid var(--wine);background:transparent}.button-outline:hover{background:var(--wine);color:var(--paper)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:16.5px;padding:5px 0;border-bottom:1px solid var(--wine);line-height:1.6}.text-link:hover{color:var(--wine)}.text-link svg{width:17px;height:17px}.skip-link{position:fixed;top:-100px;left:16px;background:var(--wine);color:white;padding:14px;z-index:100}.skip-link:focus{top:16px}.site-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 4.4%;position:relative;z-index:10;border-bottom:1px solid rgba(77,39,31,.08);background:#f0e1d9}.wordmark{font-family:var(--serif);font-size:45px;letter-spacing:-.075em;white-space:nowrap;line-height:1}.wordmark span{margin-left:3px}.wordmark i{font-family:Georgia,serif;display:inline-block;font-style:normal;font-size:18px;vertical-align:top;margin:1px 0 0 8px;color:var(--wine)}.site-header>nav:not(.mobile-menu){display:flex;gap:34px;margin-left:auto;margin-right:48px;align-items:center}.site-header>nav>a{font-family:var(--serif);font-size:22px}.site-header>nav>a:hover{color:var(--wine)}.site-header .header-book{min-height:46px;padding:11px 24px;font-size:17px}.menu-toggle{display:none}.hero{position:relative;display:grid;grid-template-columns:49% 51%;min-height:690px;height:calc(100svh - 96px);max-height:920px;overflow:hidden;background:#ecdad1}.hero-copy{padding:12.5% 0 70px 9%;position:relative;z-index:2;align-self:center}.hero h1{margin-top:30px;position:relative;white-space:nowrap;z-index:3;font-size:clamp(76px,7.8vw,130px)}.hero h1 em{letter-spacing:-.055em}.hero-subtitle{font-family:var(--serif);font-size:clamp(22px,2.15vw,34px);font-style:italic;line-height:1.18;margin-top:28px}.hero-cta{margin-top:36px;padding:17px 29px;min-height:56px;font-size:16px;gap:38px}.hero-location{display:flex;align-items:center;gap:8px;font-size:15px;letter-spacing:.03em;margin-top:28px;color:#6d5247}.hero-location svg{width:15px;height:15px}.hero-location b{font-weight:400;margin:0 5px}.hero-visual{position:relative;width:100%;height:100%}.hero-visual:before{position:absolute;content:'';z-index:1;inset:0;background:linear-gradient(90deg,#ecdad1 0%,rgba(236,218,209,.7) 6%,rgba(236,218,209,0) 25%)}.hero-visual img{height:100%;width:100%;object-position:center 40%}.hero-caption{position:absolute;right:28px;bottom:29px;z-index:2;color:#fff5eb;writing-mode:vertical-rl;font-size:14px;letter-spacing:.25em}.scroll-cue{position:absolute;bottom:26px;left:4.4%;display:flex;align-items:center;gap:20px;font-size:14px;letter-spacing:.21em}.scroll-cue>span:last-child{font-size:23px;font-family:var(--serif)}.signature-strip{display:flex;justify-content:space-around;align-items:center;gap:24px;padding:25px 4.4%;background:#6b152b;color:#f5e6dd;font-family:var(--serif);font-size:22px;font-style:italic}.signature-strip svg{width:23px;height:23px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:45px}.section-heading .eyebrow{margin-bottom:24px}.section-heading>p{font-size:16.5px;color:var(--muted);line-height:1.8;padding-bottom:6px}.section-heading>.text-link{margin-bottom:6px}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:60px 1fr auto 50px;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:27px 0;transition:padding .2s,background .2s}.service-item:hover{padding-left:12px;padding-right:12px;background:#eddfd6}.service-number{font-family:var(--serif);font-size:19px;color:var(--muted);align-self:start;padding-top:7px}.service-item h3{font-size:38px;letter-spacing:-.02em}.service-item p{color:var(--muted);font-size:16px;margin-top:5px}.service-from{font-size:16px;margin-right:25px}.circle-arrow{width:45px;height:45px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--wine);transition:background .2s}.service-item:hover .circle-arrow{background:var(--wine);color:var(--paper)}.services-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.services-bottom>span{font-size:15.5px;color:var(--muted)}.designs{background:#e9d6cc;padding-top:88px;padding-bottom:76px}.design-grid{display:grid;grid-template-columns:1fr 1fr .72fr;gap:28px}.design-card{background:transparent;text-align:left;padding:0;min-width:0;align-self:start}.design-photo{position:relative;overflow:hidden}.design-photo img{width:100%;aspect-ratio:4/5;transition:transform .5s}.design-card:hover img{transform:scale(1.035)}.photo-plus{position:absolute;right:15px;bottom:15px;border:1px solid rgba(255,255,255,.8);border-radius:50%;color:white;width:34px;height:34px;display:grid;place-items:center;font-family:var(--serif);font-size:30px}.design-title{padding-top:17px}.design-title h3{font-size:28px}.design-title>span{display:block;font-size:14px;letter-spacing:.18em;margin-top:7px;color:var(--muted)}.design-note{display:flex;flex-direction:column;align-items:start;justify-content:center;padding-left:20px}.large-sparkle svg{width:52px;height:52px;color:var(--wine);margin-bottom:30px}.design-note h3{font-size:39px;line-height:1.04;letter-spacing:-.02em}.design-note>p{font-size:16px;color:var(--muted);line-height:1.7;margin-top:22px}.design-note .text-link{margin-top:24px;font-size:16px}.design-note>.editorial-note{font-size:14px;line-height:1.6;max-width:205px;margin-top:38px}.studio{display:grid;grid-template-columns:1fr 1fr;min-height:640px}.studio-visual{position:relative;overflow:hidden}.studio-visual img{width:100%;height:100%;object-position:center;filter:saturate(.9)}.studio-stamp{position:absolute;left:10%;bottom:9%;background:#f3e8e1ee;display:grid;align-content:center;justify-content:center;border-radius:50%;width:156px;height:156px;text-align:center;font-family:var(--serif);font-size:28px;line-height:.95;transform:rotate(-10deg);border:1px solid #f3e8e1;box-shadow:0 0 0 7px #f3e8e144}.studio-copy{padding:75px 12% 70px 12%;align-self:center}.studio-copy .eyebrow{font-size:14px;margin-bottom:26px;letter-spacing:.18em}.studio-copy h2{font-size:clamp(48px,4.7vw,72px)}.studio-copy>p:not(.eyebrow){font-size:16.5px;color:var(--muted);margin-top:23px;max-width:390px}.studio-location{display:flex;gap:15px;padding-top:25px;margin-top:26px;border-top:1px solid var(--line)}.studio-location>svg{width:23px;height:25px;color:var(--wine);margin-top:3px}.studio-location strong{font-weight:500;font-size:16px}.studio-location p{font-size:15.5px;color:var(--muted);line-height:1.8;margin-top:5px;max-width:350px}.studio-copy>.text-link{margin-top:24px}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;border-top:1px solid var(--line)}.faq .section-intro .eyebrow{margin-bottom:25px}.faq-items details{border-bottom:1px solid var(--line)}.faq-items details:first-child{border-top:1px solid var(--line)}.faq-items summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:23px 0;font-size:17px;gap:25px;line-height:1.5}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary span{font-size:24px;font-family:var(--serif);color:var(--wine);transition:transform .2s}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items details p{font-size:16px;color:var(--muted);padding:0 30px 25px 0;line-height:1.9}.booking{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:#e8d2c8}.booking-copy .eyebrow{margin-bottom:26px}.booking-copy h2{font-size:clamp(58px,6.8vw,100px)}.booking-copy>p:not(.eyebrow){font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.35;margin-top:27px}.booking-copy>.text-link{margin-top:32px;font-size:16px}.booking-detail{display:flex;gap:18px;align-items:center;margin-top:70px}.booking-detail svg{height:32px;width:32px;color:var(--wine)}.booking-detail span{font-size:15.5px;color:var(--muted);line-height:1.7}.booking-form-wrap{min-width:0;padding-top:3px}.form-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:30px;font-size:14px;letter-spacing:.15em}.form-top>span:last-child{letter-spacing:0;font-style:italic;color:var(--muted)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 22px}.field-grid label{display:flex;flex-direction:column;font-size:15.5px;gap:9px;min-width:0;position:relative}.field-wide{grid-column:1/-1}.field-grid input,.field-grid select,.field-grid textarea{width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #a78e80;border-radius:0;padding:9px 0 12px;font-size:16px;color:var(--ink);line-height:1.6}.field-grid select{padding-right:10px;min-height:43px}.field-grid input::placeholder,.field-grid textarea::placeholder{color:#7d665c;opacity:1}.field-grid textarea{resize:vertical;min-height:70px}.field-grid .optional{position:absolute;left:3.6em;top:0;color:var(--muted)}.form-privacy{font-size:14px;color:var(--muted);margin-top:19px;line-height:1.7}.form-privacy a{text-decoration:underline}.form-submit{margin-top:22px;width:100%;justify-content:space-between;min-height:53px}.form-hint{font-size:14px;text-align:center;margin-top:12px;color:var(--muted);line-height:1.6}.booking-result h3{font-size:43px;margin-top:15px}.booking-result>p:not(.eyebrow):not(.form-hint){font-size:16px;margin-top:15px}.booking-result textarea{margin:20px 0 16px;width:100%;padding:16px;color:var(--ink);background:#f3e8e199;border:1px solid var(--line);font-size:16px;line-height:1.8;resize:vertical;border-radius:4px}.booking-result .button{width:100%;justify-content:space-between;margin-bottom:12px}.booking-result #copy-status{font-size:15.5px;margin:0 0 10px;min-height:17px}.back-button{display:block;background:transparent;text-decoration:underline;padding:8px 0;font-size:15.5px;margin:0 auto}.booking-result:focus{outline:0}footer{padding:50px 6% 25px;background:var(--wine);color:#f5e8e0}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-bottom:45px}.footer-top .wordmark i{color:#f5e8e0}.footer-top p{font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.15}.footer-top .text-link{border-color:#f5e8e0}.footer-top .text-link:hover{color:#fff}.footer-bottom{border-top:1px solid #f5e8e030;padding-top:23px;display:flex;justify-content:space-between;font-size:14px;color:#e4c8be}.mobile-book{display:none}dialog{padding:0;background:var(--paper);border:0;max-width:700px;max-height:90svh;width:90vw;box-shadow:0 15px 80px #321b1640;overflow:auto}dialog::backdrop{background:#25100dd9;backdrop-filter:blur(5px)}dialog>img{width:100%;max-height:66svh;object-fit:contain;background:#e9d6cc}.dialog-close{position:absolute;right:12px;top:12px;z-index:2;width:40px;height:40px;background:var(--paper);border-radius:50%;font-size:30px;line-height:1}.dialog-caption{padding:20px 28px}.dialog-caption h3{font-size:30px}.dialog-caption p{font-size:15px;color:var(--muted);margin-top:6px}.dialog-caption .text-link{margin-top:14px}.prices-hero,.detail-hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:540px;background:#ecdad1}.prices-hero>div,.detail-hero>div{padding:70px 7% 65px 11%;align-self:center;position:relative;z-index:2}.prices-hero h1{font-size:clamp(58px,6.8vw,108px);margin-top:22px}.prices-hero>div>p:last-child{font-family:var(--serif);font-size:25px;font-style:italic;line-height:1.25;margin-top:23px}.prices-hero>img,.detail-hero>img{height:100%;width:100%;max-height:640px;object-position:center 45%}.prices-section{padding-top:75px}.prices-section>.section-heading>span{font-size:14px;letter-spacing:.18em}.price-groups{display:grid;grid-template-columns:1.1fr 1fr;gap:35px 9%;margin-top:45px;align-items:start}.price-group:first-child{grid-row:span 2}.price-group h3{font-size:38px;font-style:italic;border-bottom:1px solid var(--ink);padding-bottom:15px;margin-bottom:8px}.price-row{display:flex;gap:20px;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding:14px 0;font-size:16.5px;line-height:1.5}.price-row a:hover{text-decoration:underline;text-underline-offset:4px}.price-row strong{font-variant-numeric:lining-nums tabular-nums;font-family:var(--serif);font-size:25px;line-height:1;color:var(--wine);white-space:nowrap;font-weight:500}.price-notes{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#e9d6cc;padding:22px 28px;margin-top:40px}.price-notes>span{display:flex;align-items:center;gap:14px;font-size:16px}.price-notes svg{width:25px;height:25px;color:var(--wine)}.price-date{font-size:15px;color:var(--muted);margin:16px 0 30px}.service-guide{background:#e9d6cc}.service-guide h2{margin-top:22px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px 70px;margin-top:45px}.guide-grid>a{border-top:1px solid var(--line);padding-top:25px}.guide-grid h3{display:flex;align-items:center;justify-content:space-between;font-size:32px}.guide-grid p{font-size:16px;color:var(--muted);margin-top:17px}.guide-grid span{font-size:15.5px;text-decoration:underline;text-underline-offset:5px;display:block;margin-top:20px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:var(--muted);margin-bottom:38px;line-height:1.6}.breadcrumbs a:hover{text-decoration:underline}.detail-hero .eyebrow{font-size:14px}.detail-hero h1{font-size:clamp(63px,6.8vw,103px);margin-top:24px}.detail-hero>div>p:not(.eyebrow){font-size:17px;max-width:420px;margin-top:25px;color:#614d43}.detail-hero .button{margin-top:30px;font-size:16px}.service-detail{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.service-detail .eyebrow{font-size:14px;letter-spacing:.17em;margin-bottom:23px}.service-detail h2{font-size:60px}.service-detail>div>p:not(.eyebrow){font-size:16.5px;color:var(--muted);margin-top:25px}.service-detail>div>h3{margin-top:30px;font-size:34px}.detail-prices{background:#e9d6cc;padding:35px;align-self:start}.detail-prices>h3{font-size:45px;margin-bottom:16px}.detail-prices>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:20px}.detail-prices .text-link{font-size:15.5px;margin-top:20px}.detail-cta{text-align:center;background:#e9d6cc}.detail-cta h2{margin-top:25px}.detail-cta>p:not(.eyebrow){font-size:16.5px;margin-top:25px;color:var(--muted)}.detail-cta>.button{margin-top:28px}.related-link{display:flex;width:max-content;max-width:100%;margin:24px auto 0;font-size:15.5px}.legal{max-width:950px;margin:auto;min-height:65vh}.legal h1{font-size:82px;margin:25px 0 35px}.legal h2{font-size:35px;margin:32px 0 16px}.legal p{font-size:17px;color:var(--muted);margin-bottom:20px}.legal p a{text-decoration:underline}.legal>.text-link{margin-top:25px}.not-found{text-align:center;padding-top:100px;padding-bottom:120px}.not-found h1{margin-top:28px}.not-found>p:not(.eyebrow){margin-top:30px}.not-found .button{margin-top:25px}
@media(min-width:1700px){.section-space{padding-left:max(6%,calc((100vw - 1520px)/2));padding-right:max(6%,calc((100vw - 1520px)/2))}.hero-copy{padding-left:max(9%,calc((100vw - 1520px)/2))}.hero{max-height:1000px}}@media(max-width:1100px){.site-header{height:82px}.wordmark{font-size:38px}.site-header>nav:not(.mobile-menu){gap:24px;margin-right:28px}.site-header>nav>a{font-size:20px}.site-header .header-book{font-size:16px;padding:10px 17px;gap:13px}.hero{min-height:620px;height:calc(90svh - 82px)}.hero-copy{padding-top:5%;padding-left:9%}.hero h1{font-size:8.8vw}.hero-subtitle{font-size:27px}.hero-location{font-size:14px}.section-space{padding:80px 5%}.signature-strip{font-size:18px;gap:15px}.signature-strip svg{height:18px;width:18px}.design-grid{gap:20px;grid-template-columns:1fr 1fr .75fr}.design-note{padding-left:5px}.design-note h3{font-size:32px}.large-sparkle svg{width:40px;height:40px;margin-bottom:18px}.design-note .text-link{font-size:15px;gap:10px}.studio-copy{padding:60px 9%}.studio{min-height:600px}.service-item h3{font-size:34px}.booking{gap:7%}.detail-prices{padding:25px}.detail-hero>div,.prices-hero>div{padding-left:10%}.footer-top{gap:20px}}
@media(max-width:760px){html{scroll-padding-top:80px}.site-header{height:78px;padding:0 6%}.wordmark{font-size:37px}.wordmark i{font-size:16.5px;margin-left:5px;margin-top:2px}.site-header>nav:not(.mobile-menu){display:none}.site-header .header-book{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:transparent;padding:12px 0 12px 12px;width:40px;align-items:end;min-height:44px;justify-content:center}.menu-toggle span{height:1px;width:25px;background:var(--wine);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:absolute;top:78px;left:0;right:0;padding:28px 6% 35px;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:22px;box-shadow:0 20px 30px #321b1610}.mobile-menu a{font-family:var(--serif);font-size:30px}.hero{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;overflow:hidden}.hero-copy{padding:44px 6% 28px;align-self:start}.hero .eyebrow{font-size:14px;letter-spacing:.24em}.hero h1{font-size:clamp(69px,13vw,100px);margin-top:24px;line-height:.9;white-space:normal;letter-spacing:-.05em}.hero-subtitle{font-size:25px;margin-top:23px;line-height:1.16}.hero-cta{font-size:17px;min-height:50px;padding:14px 23px;margin-top:27px;gap:36px}.hero-location{margin-top:20px;font-size:14px;gap:5px}.hero-location svg{width:13px;height:13px}.hero-location b{margin:0 3px}.hero-visual{height:440px;margin-top:0}.hero-visual img{object-position:center 35%;height:100%;width:100%}.hero-visual:before{background:linear-gradient(180deg,#ecdad1 0,rgba(236,218,209,.65) 6%,transparent 24%)}.hero-caption{font-size:14px;right:18px;bottom:24px}.scroll-cue{display:none}.signature-strip{display:grid;grid-template-columns:1fr auto 1fr;padding:20px 6%;gap:15px;font-size:19px;text-align:center}.signature-strip>span:nth-of-type(3),.signature-strip>span:nth-of-type(4),.signature-strip>svg:nth-of-type(2),.signature-strip>svg:nth-of-type(3){display:none}.section-space{padding:64px 6%}.section-heading{display:block;margin-bottom:32px}.section-heading .eyebrow{font-size:14px;letter-spacing:.2em;margin-bottom:20px}h2{font-size:54px;line-height:.95}.section-heading>p{margin-top:23px;font-size:16px}.section-heading>.text-link{margin-top:24px}.service-item{grid-template-columns:26px 1fr 36px;gap:13px;padding:24px 0;position:relative}.service-number{font-size:16px;padding-top:5px}.service-item h3{font-size:31px;line-height:1.05}.service-item p{font-size:15px;margin-top:7px}.service-from{grid-column:2;margin:0;font-size:15px;margin-top:-3px;color:var(--wine)}.circle-arrow{grid-column:3;grid-row:1/3;width:35px;height:35px}.circle-arrow svg{width:18px;height:18px}.services-bottom{display:block;margin-top:23px}.services-bottom>span{font-size:15px;display:block;margin-bottom:14px}.services-bottom .text-link{font-size:16px}.designs .section-heading>.text-link{font-size:15.5px}.design-grid{grid-template-columns:1fr 1fr;gap:16px}.design-title h3{font-size:25px;line-height:1}.design-title>span{font-size:14px;letter-spacing:.13em}.design-photo img{aspect-ratio:3/4}.photo-plus{width:28px;height:28px;font-size:24px;right:10px;bottom:10px}.design-note{grid-column:1/-1;padding:28px 0 0;margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px;position:relative;border-top:1px solid var(--line)}.large-sparkle{display:none}.design-note h3{font-size:35px;grid-row:1/3}.design-note>p:not(.editorial-note){margin:0;font-size:15.5px}.design-note>.text-link{margin-top:13px;justify-self:start;font-size:15.5px;gap:8px}.design-note>.editorial-note{max-width:none;grid-column:1/-1;font-size:14px;margin-top:22px}.studio{display:flex;flex-direction:column-reverse;min-height:0}.studio-copy{padding:63px 6% 45px}.studio-copy h2{font-size:60px}.studio-copy .eyebrow{font-size:14px;margin-bottom:20px;letter-spacing:.14em}.studio-copy>p:not(.eyebrow){font-size:16px;max-width:none}.studio-location p{max-width:none;font-size:15.5px}.studio-visual{height:360px}.studio-visual img{object-position:center 55%}.studio-stamp{height:125px;width:125px;font-size:25px;left:auto;right:7%;bottom:10%}.faq{display:block}.faq .section-intro{margin-bottom:35px}.faq .eyebrow{font-size:14px}.faq-items summary{font-size:16px;min-height:70px;padding:18px 0}.faq-items details p{font-size:15.5px;line-height:1.8}.booking{display:block}.booking-copy h2{font-size:75px}.booking-copy .eyebrow{font-size:14px;letter-spacing:.18em}.booking-copy>p:not(.eyebrow){font-size:25px;margin-top:23px}.booking-copy>.text-link{margin-top:23px}.booking-detail{display:none}.booking-form-wrap{margin-top:45px}.form-top{font-size:14px;padding-bottom:18px;margin-bottom:25px}.field-grid{gap:25px 18px}.field-grid label{font-size:15px}.field-grid input,.field-grid select,.field-grid textarea{font-size:16px}.field-grid select{padding-right:0}.form-privacy{font-size:14px}.form-hint{font-size:14px}footer{padding:40px 6% 95px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-bottom:30px}.footer-top .wordmark{grid-column:1/-1;font-size:44px}.footer-top p{font-size:23px}.footer-top .text-link{font-size:15px;gap:8px;justify-self:end}.footer-bottom{flex-wrap:wrap;gap:16px;font-size:14px}.footer-bottom>span:nth-child(2){order:3;flex-basis:100%;margin-top:-6px}.mobile-book{position:fixed;bottom:14px;left:6%;right:6%;z-index:8;min-height:50px;display:flex;align-items:center;justify-content:space-between;padding:14px 23px;background:var(--wine);color:var(--paper);border-radius:30px;box-shadow:0 6px 25px #321b1630;font-size:16.5px;border:1px solid #f3e8e144}.mobile-book svg{width:18px;height:18px}.mobile-book.is-hidden{opacity:0;pointer-events:none;transform:translateY(100px)}.prices-hero,.detail-hero{grid-template-columns:1fr;min-height:0}.prices-hero>div,.detail-hero>div{padding:45px 6% 35px}.prices-hero h1{font-size:69px}.prices-hero .eyebrow{font-size:14px}.prices-hero>div>p:last-child{font-size:25px}.prices-hero>img,.detail-hero>img{height:310px;object-position:center 45%;width:100%}.prices-section>.section-heading>span{display:block;margin-top:22px;font-size:14px}.price-groups{display:block;margin-top:35px}.price-group{margin-bottom:38px}.price-group h3{font-size:37px}.price-row{font-size:16px;padding:12px 0;gap:14px}.price-row strong{font-size:27px}.price-notes{display:block;padding:20px;margin-top:0}.price-notes>span{font-size:15px;gap:12px;align-items:center}.price-notes>span+span{margin-top:18px}.price-notes svg{width:23px;height:23px}.price-date{font-size:14px}.guide-grid{display:block;margin-top:30px}.guide-grid>a{display:block;margin-top:32px}.guide-grid h3{font-size:31px}.guide-grid p{font-size:16px}.breadcrumbs{font-size:14px;gap:7px;margin-bottom:30px}.detail-hero .eyebrow{font-size:14px}.detail-hero h1{font-size:75px;margin-top:23px}.detail-hero>div>p:not(.eyebrow){font-size:16.5px}.detail-hero .button{font-size:16px}.service-detail{display:block}.service-detail .eyebrow{font-size:14px;letter-spacing:.1em}.service-detail h2{font-size:52px}.service-detail>div>p:not(.eyebrow){font-size:16px}.detail-prices{margin-top:40px;padding:25px}.detail-cta>p:not(.eyebrow){font-size:16px}.detail-cta h2{font-size:59px}.legal h1{font-size:65px}.legal p{font-size:16.5px}.legal h2{font-size:34px}dialog{max-height:86svh}.dialog-caption{padding:20px}.dialog-caption h3{font-size:28px}.dialog-caption p{font-size:14px}}
@media(max-width:370px){.hero h1{font-size:65px}.hero-location{font-size:14px}.field-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.signature-strip{font-size:16px}.service-item h3{font-size:28px}.footer-top{display:flex;flex-direction:column;align-items:start}.detail-hero h1{font-size:65px}}
/* ===== Animaciones ===== */
@keyframes nn-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes nn-fade{from{opacity:0}to{opacity:1}}
@keyframes nn-unveil{from{clip-path:inset(0 0 0 100%);transform:scale(1.12)}to{clip-path:inset(0 0 0 0);transform:scale(1)}}
@keyframes nn-spin{to{transform:rotate(360deg)}}
@keyframes nn-float{0%,100%{transform:rotate(-10deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-8px)}}
@keyframes nn-cue{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes nn-marquee{to{transform:translateX(-50%)}}
.hero-copy>*,.prices-hero>div>*,.detail-hero>div>*{animation:nn-rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-copy>:nth-child(1),.prices-hero>div>:nth-child(1),.detail-hero>div>:nth-child(1){animation-delay:.1s}
.hero-copy>:nth-child(2),.prices-hero>div>:nth-child(2),.detail-hero>div>:nth-child(2){animation-delay:.22s}
.hero-copy>:nth-child(3),.prices-hero>div>:nth-child(3),.detail-hero>div>:nth-child(3){animation-delay:.38s}
.hero-copy>:nth-child(4),.prices-hero>div>:nth-child(4),.detail-hero>div>:nth-child(4){animation-delay:.52s}
.hero-copy>:nth-child(5),.detail-hero>div>:nth-child(5){animation-delay:.64s}
.hero-visual{overflow:hidden}.hero-visual img,.prices-hero>img,.detail-hero>img{animation:nn-unveil 1.5s cubic-bezier(.65,0,.15,1) .05s both}
.hero-caption,.scroll-cue{animation:nn-fade 1s ease 1.2s both}.scroll-cue>span:last-child{display:inline-block;animation:nn-cue 2.2s ease-in-out 2s infinite}
.studio-stamp{animation:nn-float 6s ease-in-out infinite}
.large-sparkle svg{animation:nn-spin 18s linear infinite}
.site-header{position:sticky;top:0;transition:box-shadow .3s,background .3s}.site-header.is-scrolled{background:#f0e1d9f2;box-shadow:0 8px 30px #321b1614;backdrop-filter:blur(8px)}
.site-header>nav>a{position:relative}.site-header>nav>a:after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--wine);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.2,.7,.2,1)}.site-header>nav>a:hover:after,.site-header>nav>a[aria-current]:after{transform:scaleX(1);transform-origin:left}
.button svg,.text-link svg,.circle-arrow svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}.button:hover svg,.text-link:hover svg,.service-item:hover .circle-arrow svg{transform:translate(3px,-3px)}
.button-solid{position:relative;overflow:hidden;isolation:isolate}.button-solid:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,#ffffff2e 50%,transparent 65%);transform:translateX(-100%);transition:transform .7s}.button-solid:hover:before{transform:translateX(100%)}
.faq-items details[open] p{animation:nn-rise .45s ease both}
.signature-strip.is-marquee{display:block;overflow:hidden;padding-left:0;padding-right:0}.signature-strip.is-marquee .marquee-track{display:flex;width:max-content;align-items:center;gap:48px;padding-right:48px;animation:nn-marquee 32s linear infinite}.signature-strip.is-marquee .marquee-track>*{display:inline-flex!important;flex-shrink:0;white-space:nowrap}.signature-strip.is-marquee:hover .marquee-track{animation-play-state:paused}
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}.reveal.is-visible{opacity:1;transform:none}
.reveal-img{clip-path:inset(12% 0 0 0);transition:clip-path 1.2s cubic-bezier(.65,0,.15,1);transition-delay:var(--d,0s)}.reveal-img img{transform:scale(1.15);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.reveal-img.is-visible{clip-path:inset(0)}.reveal-img.is-visible img{transform:scale(1)}.design-card:hover .reveal-img.is-visible img{transform:scale(1.035)}
.hero-caption{bottom:110px!important}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:9;display:flex;align-items:center;gap:10px;height:58px;padding:0 22px 0 17px;border-radius:40px;background:#25d366;color:#fff;font-size:15.5px;font-weight:500;letter-spacing:.02em;box-shadow:0 8px 28px #0b3d2240;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,background .3s;animation:nn-wa-in .7s cubic-bezier(.2,.7,.2,1) 1.4s both}.whatsapp-float svg{width:28px;height:28px}.whatsapp-float:hover{transform:translateY(-3px);background:#1ebe5a;box-shadow:0 12px 34px #0b3d2250}.whatsapp-float:before{content:'';position:absolute;inset:0;border-radius:inherit;border:2px solid #25d366;animation:nn-wa-ring 2.4s ease-out 2.2s 3;pointer-events:none;opacity:0}.whatsapp-float:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
@keyframes nn-wa-in{from{opacity:0;transform:translateY(30px) scale(.8)}to{opacity:1;transform:none}}
@keyframes nn-wa-ring{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
@media(max-width:760px){.whatsapp-float{right:6%;bottom:14px;width:52px;height:52px;padding:0;justify-content:center}.whatsapp-float span{display:none}.whatsapp-float svg{width:27px;height:27px}.mobile-book{right:calc(6% + 62px)}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal-img{opacity:1!important;transform:none!important;clip-path:none!important}.reveal-img img{transform:none!important}}
/* Cartel de la sección de inspiración; aparece con la animación de scroll. */
.editorial-notice{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:28px;margin:0 0 36px;padding:32px 36px;background:var(--wine);color:#fff5eb;border:1px solid #8c354a;border-radius:12px;box-shadow:0 14px 32px #6b152b24}
.notice-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid #fff5eb88;border-radius:50%;font-family:var(--serif);font-size:50px;line-height:1}
.editorial-notice .editorial-note{margin:0;max-width:none;font-size:clamp(20px,2.1vw,29px);font-weight:500;line-height:1.45;letter-spacing:.025em}
@media(max-width:760px){.editorial-notice{grid-template-columns:1fr;gap:18px;margin-bottom:26px;padding:26px 24px}.notice-mark{width:42px;height:42px;font-size:34px}.editorial-notice .editorial-note{font-size:20px;line-height:1.5;letter-spacing:.01em}}
/* Fotografía continua con la mujer de la referencia original. */
.hero{background:#eeded5}
.hero-visual{position:absolute;inset:0;width:100%;height:100%;z-index:0;mask-image:none}
.hero-visual:before{content:none}
.hero-visual picture{display:block;width:100%;height:100%}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:70% center;animation:nn-fade 1.4s ease .05s both}
@media(max-width:760px){
  .hero{background:linear-gradient(180deg,#eeded5 0%,#e7d3ca 57%,#dfc4ba 100%)}
  .hero-copy{padding-bottom:45px}
  .hero-visual{position:relative;inset:auto;width:100%;height:470px;margin-top:-30px;mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 3%,rgba(0,0,0,.65) 8%,#000 15%)}
  .hero-visual img{object-position:right center}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
