/* Victorian reading-room styling. The approved main logo styling is inherited unchanged. */
:root{--room-gold:#B89B62;--room-purple:#72627F;--room-border:#B89B624D}
.site-header{position:relative;z-index:10;gap:20px}
.site-header #site-nav{display:flex;gap:26px}.menu-toggle{display:none}
.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.quiet-link{font-size:12px;text-underline-offset:7px;color:var(--cream)}
.hero-actions .quiet-link{color:var(--lavender)}
.portrait-room{background-color:var(--cream);color:var(--ink);background-image:url('victorian-damask.svg');border-top:1px solid var(--room-border);border-bottom:1px solid var(--room-border)}
.about-victorian{display:grid;grid-template-columns:1.12fr 1fr;gap:6%;align-items:center;max-width:1500px;padding:90px 5%}
.victorian-portrait{position:relative;aspect-ratio:1;width:100%;margin:0;filter:drop-shadow(0 12px 14px #29273340)}
.portrait-painting{position:absolute;left:17.4%;top:17.4%;width:65.2%;height:65.2%;object-fit:cover;object-position:50% 28%}
.portrait-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.portrait-caption{text-align:center;font-size:10px;letter-spacing:2.6px;text-transform:uppercase;color:#6B5635;margin:20px 0 0}
.story .eyebrow{color:#725B31}.story h2{font-size:clamp(40px,4.3vw,64px);margin:18px 0 28px}.story h2 em{color:#786784}
.story p{font-size:14px;line-height:1.9}.story .story-lead{font:italic 25px/1.35 'Cormorant Garamond',Georgia,serif;color:#67526F;margin-bottom:24px}
.story-more{border-top:1px solid #b89b6250;border-bottom:1px solid #b89b6250;margin:24px 0 8px;padding:13px 0}
.story-more summary{cursor:pointer;font-size:12px;color:#62506E;text-underline-offset:5px}.story .text-link{color:#70572F;border-color:#70572F66}
.services-section{position:relative}.services-section:before,.journal-section:before{content:'';position:absolute;width:100px;height:1px;background:var(--gold);top:0;left:calc(50% - 50px)}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.service-card{position:relative;padding:32px 34px;background:linear-gradient(145deg,#222534,#191C2B);border:1px solid #b89b6270;box-shadow:inset 0 0 0 6px var(--navy),inset 0 0 0 7px #b89b6225;display:flex;flex-direction:column}
.service-card:before,.service-card:after{content:'';position:absolute;width:24px;height:24px;border-color:var(--gold);border-style:solid;pointer-events:none}
.service-card:before{left:-1px;top:-1px;border-width:2px 0 0 2px}.service-card:after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.service-top{display:flex;justify-content:space-between;gap:18px;align-items:center}.service-top .eyebrow{font-size:9px;letter-spacing:1.7px}.service-number{font:italic 20px 'Cormorant Garamond',serif;color:#b89b6280}
.service-card h3{font-size:37px;margin:23px 0 10px}.service-tag{font:italic 21px 'Cormorant Garamond',serif;color:var(--lavender);margin:0 0 18px}
.service-description{font-size:14px;color:#e9e1d3c9;line-height:1.8;margin:0 0 30px}
.service-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:auto;padding-top:20px;border-top:1px solid #b89b6230}
.price{font:46px/1 'Cormorant Garamond',serif;margin:0;color:var(--cream)}.price span{font:9px 'Lato',sans-serif;letter-spacing:1px;margin-left:9px;color:var(--lavender)}
.service-card .button{font-size:9px;letter-spacing:1.3px;padding:13px 18px;background:var(--cream);min-width:0}
.delivery-strip{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px;border-top:1px solid #b89b6230;padding:30px 0 0}.delivery-strip h3{font-size:26px;margin:0 0 14px}.delivery-strip p{font-size:13px;color:#e9e1d3b8;margin:0}
.reading-atmosphere .atmosphere-copy{max-width:1440px}.reading-atmosphere .text-link{margin-bottom:10px}
.practice-room{display:grid;grid-template-columns:1fr 1.2fr;column-gap:8%;align-items:start}.practice-room>.eyebrow{grid-column:1}.practice-room>h2{grid-column:1;grid-row:2;font-size:52px}.practice-list{grid-column:2;grid-row:1 / span 2;border-top:1px solid #b89b6240}
.practice-list details{border-bottom:1px solid #b89b6240}.practice-list summary{font:26px/1.3 'Cormorant Garamond',serif;cursor:pointer;display:flex;justify-content:space-between;padding:19px 0;gap:20px;list-style:none}
.practice-list summary::-webkit-details-marker{display:none}.practice-list summary span{color:var(--gold);font-size:19px;transition:transform .2s}.practice-list details[open] summary span{transform:rotate(45deg)}.practice-list p{font-size:14px;color:#e9e1d3b8;padding:0 22px 15px 0;margin:0}
.reviews-room{background:var(--cream) url('victorian-damask.svg');color:var(--ink);border-top:1px solid #b89b6260;border-bottom:1px solid #b89b6260}
.reviews-content{text-align:center;padding-top:75px;padding-bottom:75px;max-width:850px}.reviews-content .eyebrow{color:#725B31}.reviews-content h2{font-size:60px}.reviews-content h2 em{color:#786784}.reviews-content>p:not(.eyebrow){max-width:430px;margin:25px auto;color:#50485B;font-size:14px}
.review-actions{display:flex;gap:25px;align-items:center;justify-content:center;flex-wrap:wrap;margin:30px 0 0}.review-actions .button{background:var(--navy);color:var(--cream)}.review-actions .quiet-link{color:#62506E}.reviews-content .small-note{font-size:11px!important;margin-top:17px!important}
.journal-section{position:relative}.journal-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.journal-card{display:block;text-decoration:none;border-top:1px solid #b89b6260;border-bottom:1px solid #b89b6260;padding:32px 0;position:relative}
.journal-card h3{font-size:35px;max-width:350px;margin:22px 0 15px}.journal-card p{font-size:14px;color:#e9e1d3b8;max-width:360px}.read-label{display:inline-block;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-top:20px}.journal-card:hover h3{color:var(--lavender)}
.questions{padding-top:20px;padding-bottom:85px}.questions h2{font-size:54px}
.booking-room{border-top:1px solid #b89b6240;background:linear-gradient(125deg,#222534,#151927 70%)}
.booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start}.booking-intro h2{font-size:58px}.booking-intro>p:not(.eyebrow){font-size:14px;color:#e9e1d3b8;max-width:380px}.booking-intro .button{background:var(--cream);margin-top:16px}.contact-email{word-break:break-word}.contact-email a{color:var(--lavender);text-underline-offset:5px}
.booking-steps{border-top:1px solid #b89b6238;margin-top:32px;padding-top:12px}.booking-steps p{font-size:13px;line-height:1.7}.booking-steps span{font:italic 20px 'Cormorant Garamond',serif;color:var(--gold);display:inline-block;width:34px}
.payment-details{border-top:1px solid #b89b6238;padding-top:17px;margin-top:25px}.payment-details summary{cursor:pointer;font-size:12px;color:var(--lavender)}.payment-details p,.payment-details a{font-size:12px}.payment-details p{color:#e9e1d3b8}.payment-details a{text-underline-offset:5px}
.request-form{background:var(--cream);color:var(--ink);padding:35px;border:1px solid var(--gold);outline:1px solid #b89b6260;outline-offset:7px}
.request-form h3{font-size:32px;margin:0 0 14px}.request-form>p{font-size:13px;margin:0 0 26px}.request-form label{font-size:12px;display:block;margin-bottom:18px;line-height:1.5}.request-form label>span{color:#736779;font-size:10px}
.request-form input:not([type=checkbox]),.request-form select,.request-form textarea{display:block;width:100%;background:var(--ivory);color:var(--ink);border:1px solid #9E91A47D;border-radius:0;padding:11px;font:14px/1.5 'Lato',sans-serif;margin-top:7px;min-width:0;box-shadow:none}
.request-form textarea{resize:vertical}.request-form input:focus,.request-form textarea:focus,.request-form select:focus{outline:2px solid #72627F;outline-offset:2px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.request-form .check-field{display:flex;gap:10px;align-items:start;font-size:11px;line-height:1.6}.check-field input{margin:4px 0 0;accent-color:#62506E}.request-form .check-field span{font-size:11px;color:var(--ink)}.request-form .check-field a{color:#62506E}.request-form .button{border:0;cursor:pointer;background:var(--navy);color:var(--cream);width:100%;font-family:'Lato',sans-serif;font-size:10px;letter-spacing:1.3px}
.request-form .form-note{font-size:11px;color:#6A6071;margin:20px 0 0;line-height:1.7}#request-result{border-top:1px solid #b89b6260;padding-top:22px;margin-top:22px}#request-result p{font-size:12px}#request-result .text-link{color:#62506E;margin:0 14px 14px 0}.copy-request{font:11px 'Lato',sans-serif;background:transparent;border:1px solid #72627F;padding:10px 12px;color:#62506E;cursor:pointer;margin-bottom:18px}#birth-fields[hidden],#request-result[hidden]{display:none}
.editorial-footer{display:grid;grid-template-columns:1.2fr 1fr auto;gap:40px;padding:45px 0}.editorial-footer p{font-size:10px}.footer-links{display:flex;flex-wrap:wrap;gap:10px 24px;max-width:290px}.footer-links a{font-size:11px;color:var(--lavender);text-underline-offset:4px}
.journal-page .journal-title{padding-bottom:45px}.journal-title h1{font-size:78px}.journal-title>p:not(.eyebrow){color:#e9e1d3b8;max-width:480px}.journal-index{display:flex;flex-wrap:wrap;gap:14px 30px;margin-top:35px}.journal-index a{font-size:12px;text-transform:none;letter-spacing:0;color:var(--lavender);text-underline-offset:5px}
.journal-article{max-width:750px;margin:0 auto;padding:60px 30px;border-top:1px solid #b89b6240;scroll-margin-top:25px}.journal-article h2{font-size:56px;margin:25px 0 35px}.journal-article h3{font-size:30px;margin:35px 0 18px}.journal-article p{font-size:16px;line-height:1.9;color:#e9e1d3ce}.journal-article .eyebrow{font-size:10px;color:var(--gold)}.journal-article .button{background:var(--cream);margin-top:25px}.guidance-page{padding-top:70px;border-top:0}.guidance-page h1{font-size:72px}.guidance-page h2{font-size:40px}
@media(max-width:1050px){.about-victorian{grid-template-columns:1fr 1fr;gap:4%;padding-left:4%;padding-right:5%}.story p{font-size:13px}.service-card{padding:28px}.service-card h3{font-size:33px}.service-bottom{align-items:start;flex-direction:column}.booking-layout{gap:6%}.request-form{padding:27px}.booking-intro h2{font-size:48px}.site-header #site-nav{gap:20px}}
@media(max-width:760px){
.site-header{height:56px!important;justify-content:space-between;gap:15px}.site-header .wordmark{font-size:28px}.site-header .header-link{display:none}.menu-toggle{display:block;background:transparent;border:0;color:var(--navy);font:11px 'Lato',sans-serif;text-transform:uppercase;letter-spacing:1.5px;padding:12px 0;cursor:pointer}
.site-header #site-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px 7%;background:var(--cream);border-top:1px solid #b89b6240;border-bottom:1px solid #b89b6280;box-shadow:0 12px 20px #0002;grid-template-columns:1fr 1fr;gap:10px 28px}.site-header #site-nav.is-open{display:grid}.site-header #site-nav a{font-size:11px;letter-spacing:1.2px;display:block;padding:12px 0}
.hero-actions{justify-content:center;gap:22px}.hero-actions .button{font-size:10px}.hero-actions .quiet-link{font-size:11px}.hero{padding-bottom:65px}
.about-victorian{grid-template-columns:1fr;padding:55px 6% 60px;gap:40px}.portrait-column{max-width:540px;width:100%;margin:auto}.victorian-portrait{width:100%}.portrait-caption{font-size:9px;margin-top:15px}.story h2{font-size:47px}.story p{font-size:14px}.story .story-lead{font-size:25px}.story-more summary{font-size:13px}.story{max-width:520px;margin:auto}
.service-grid{grid-template-columns:1fr;gap:25px}.service-card{padding:28px}.service-card h3{font-size:36px}.service-description{font-size:14px}.service-bottom{flex-direction:row;align-items:center}.price{font-size:43px}.service-card .button{font-size:9px;padding:12px 14px;letter-spacing:.7px}.delivery-strip{grid-template-columns:1fr;gap:28px}.delivery-strip p{font-size:13px}.delivery-strip h3{font-size:26px}
.practice-room{display:block}.practice-room>h2{font-size:48px}.practice-list{margin-top:35px}.practice-list summary{font-size:25px}.practice-list p{font-size:13px}.reading-atmosphere{min-height:560px}
.reviews-content h2{font-size:50px}.reviews-content{padding-top:60px;padding-bottom:60px}.review-actions{gap:22px}.reviews-content p{font-size:14px}.journal-grid{grid-template-columns:1fr;gap:10px}.journal-card h3{font-size:33px}.journal-card{padding:26px 0}.journal-section .section-head{margin-bottom:25px}.journal-section .section-head .text-link{margin-top:10px}
.questions{padding-top:10px;padding-bottom:65px}.questions h2{font-size:48px}.booking-layout{grid-template-columns:1fr;gap:45px}.booking-intro h2{font-size:47px}.booking-intro>p:not(.eyebrow){max-width:none}.request-form{padding:25px 22px;outline-offset:4px}.field-pair{grid-template-columns:1fr;gap:0}.request-form h3{font-size:31px}
.editorial-footer{display:flex;flex-direction:column;gap:28px}.footer-links{justify-content:center;max-width:330px;gap:16px 23px}.footer-links a{font-size:12px}.editorial-footer .wordmark{font-size:34px}.journal-title h1{font-size:59px}.journal-title{padding-bottom:30px!important}.journal-article{padding:45px 7%}.journal-article h2{font-size:45px}.journal-article p{font-size:15px}.guidance-page h1{font-size:60px}.guidance-page h2{font-size:35px}.journal-index{gap:14px;flex-direction:column}
}
@media(max-width:360px){.service-bottom{flex-direction:column;align-items:start}.service-card{padding:26px}.story h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.practice-list summary span{transition:none}}

/* European editorial typography and a full-length portrait frame. */
:root{--display-face:'Bodoni Moda',Didot,'Times New Roman',serif;--reading-face:'Source Serif 4',Georgia,serif}
body{font-family:var(--reading-face);font-weight:400}
h1,h2,h3,.wordmark,.service-number,.price,.booking-steps span{font-family:var(--display-face);font-weight:400;font-optical-sizing:auto;letter-spacing:-.025em}
h1,h2,h3{line-height:1.12}h1 em,h2 em{font-family:var(--display-face);font-weight:400}
p{font-weight:400}.intro{font-family:var(--reading-face);font-size:17px;line-height:1.75}
.eyebrow,.button,.text-link,.quiet-link,.read-label,.portrait-caption,.service-top .eyebrow,.price span,.footer-links,.site-header nav,.site-header .header-link,.menu-toggle,.request-form label,.request-form .form-note,.small-note,.form-note,.copy-request{font-family:'Lato',sans-serif}
.story .story-lead,.service-tag{font-family:var(--display-face);font-style:italic;font-weight:400}
.story p{font-size:16px;line-height:1.85}.story .story-lead{font-size:25px;line-height:1.45}.service-description{font-size:16px;line-height:1.8}.delivery-strip p,.faq-list p,.practice-list p,.journal-card p,.booking-intro>p:not(.eyebrow){font-size:15px;line-height:1.8}
.hero h1{font-size:clamp(58px,6.3vw,90px);line-height:1.08}.hero .intro{max-width:430px}.story h2{font-size:clamp(40px,4vw,59px)}
.service-card h3{font-size:34px}.section-head h2{font-size:clamp(42px,4.1vw,61px)}.practice-room>h2{font-size:45px}.atmosphere h2{font-size:clamp(39px,4.1vw,59px)}.booking-intro h2{font-size:49px}
.victorian-portrait{aspect-ratio:auto;position:relative;border:clamp(35px,4.8vw,64px) solid transparent;border-image-source:url('victorian-gold-frame.png');border-image-slice:24%;border-image-width:1;border-image-repeat:stretch;background:#241B19}
.portrait-painting{position:static;display:block;width:100%;height:auto;object-fit:contain;object-position:center}
.portrait-frame{display:none}.portrait-column{max-width:620px}.about-victorian{align-items:center}
.story-more summary{font-family:'Lato',sans-serif}.journal-article h2,.journal-article h3{font-family:var(--display-face)}.journal-article p{font-family:var(--reading-face)}
@media(max-width:1050px){.story p{font-size:15px}.service-card h3{font-size:31px}.booking-intro h2{font-size:43px}}
@media(max-width:760px){.hero h1{font-size:clamp(58px,15vw,78px)}.hero .intro{font-size:16px;max-width:370px}.hero-actions{justify-content:center}.story h2{font-size:44px}.story p{font-size:16px}.story .story-lead{font-size:24px}.service-card h3{font-size:32px}.service-description{font-size:15px}.portrait-column{max-width:470px}.victorian-portrait{border-width:38px}.about-victorian{padding-left:6%;padding-right:6%}.practice-room>h2{font-size:40px}.atmosphere h2{font-size:40px}.section-head h2{font-size:44px}.booking-intro h2{font-size:41px}.reviews-content h2{font-size:46px}.journal-card h3{font-size:30px}.journal-title h1{font-size:57px}.journal-article h2{font-size:43px}.guidance-page h1{font-size:56px}}
@media(max-width:360px){.victorian-portrait{border-width:32px}.story h2,.section-head h2{font-size:39px}.service-card h3{font-size:30px}.hero h1{font-size:56px}}

/* Remove the dark mat/shadow; the gold moulding alone surrounds the portrait. */
.victorian-portrait{background:transparent;border-image-slice:18%;filter:none}
.portrait-stage{position:relative;width:100%;overflow:hidden;background:transparent}
.portrait-stage .portrait-painting{display:block;width:100%;height:auto;position:static}
.portrait-live{position:absolute;inset:0;width:100%;height:100%;display:none}
.portrait-stage.portrait-ready .portrait-live{display:block}
.portrait-stage.portrait-ready .portrait-painting{opacity:0}
.portrait-motion-control{display:block;margin:12px auto 0;padding:6px 0;border:0;border-bottom:1px solid #78678466;background:none;color:#786784;font:10px/1.5 'Lato',sans-serif;letter-spacing:.7px;cursor:pointer}
.portrait-motion-control[hidden]{display:none}.portrait-motion-control:focus-visible{outline:2px solid #786784;outline-offset:5px}

/* A European drawing-room language, repeated beyond the portrait. */
.portrait-caption{font:600 clamp(15px,1.4vw,19px)/1.5 var(--display-face);color:#65502F;letter-spacing:1.4px;margin-top:23px}
.portrait-room,.reviews-room{background-image:linear-gradient(#e9e1d3a6,#e9e1d34d),url('victorian-damask.svg');background-size:auto,190px 238px}
.services-section,.practice-room,.journal-section,.questions,.journal-page{background-image:linear-gradient(90deg,#151927b8,#15192766,#151927b8),url('victorian-damask-dark.svg');background-size:auto,180px 225px}
.services-section:before,.journal-section:before{width:230px;height:40px;left:calc(50% - 115px);top:0;background:transparent url('victorian-flourish.svg') center/contain no-repeat}
.section-head,.practice-room>h2{margin-top:22px}
.service-card{padding:44px 36px 34px;background:linear-gradient(145deg,#282837ed,#1a1c2bf5),url('victorian-damask-dark.svg');border-color:#B89B6299;box-shadow:inset 0 0 0 6px #151927,inset 0 0 0 7px #b89b6259}
.service-card:before,.service-card:after{width:65px;height:65px;border:0;background:url('victorian-corner.svg') center/contain no-repeat}
.service-card:before{left:8px;top:8px}.service-card:after{right:8px;bottom:8px;transform:rotate(180deg)}
.service-top .eyebrow{font-weight:600}.service-number{color:#cfb47b}
.service-card h3{margin-top:25px}.service-bottom{position:relative;z-index:1}
.story-more summary{font-weight:600;font-size:14px;list-style:none;display:flex;align-items:center;gap:12px}
.story-more summary::-webkit-details-marker{display:none}.story-more summary:before{content:'+';font-size:20px;font-weight:400}.story-more[open] summary:before{content:'−'}
.practice-list,.faq-list{background:#151927ab;padding:0 20px;border-left:1px solid #B89B6255;border-right:1px solid #B89B6255}
.reviews-content:before,.editorial-footer:before{content:'';display:block;width:210px;height:38px;background:url('victorian-flourish.svg') center/contain no-repeat;margin:0 auto 26px}
.reviews-content:after{content:'';display:block;width:170px;height:30px;background:url('victorian-flourish.svg') center/contain no-repeat;margin:32px auto 0;transform:rotate(180deg)}
.journal-card{padding:36px 28px;background:#222534c4;box-shadow:inset 0 0 0 6px #151927,inset 0 0 0 7px #b89b622e;border:1px solid #b89b6260}
.booking-room{background:linear-gradient(90deg,#222534dd,#151927e0),url('victorian-damask-dark.svg');background-size:auto,180px 225px}
.booking-intro{grid-column:1;grid-row:1 / span 2;position:sticky;top:30px}.request-form{grid-column:2;grid-row:1}.payment-panel{grid-column:2;grid-row:2}
.booking-layout{row-gap:36px}.booking-steps{list-style:none;padding:24px 0 0;margin-left:0}.booking-steps li{display:flex;gap:12px;margin-bottom:24px}.booking-steps span{flex-shrink:0;width:30px;font-size:25px}.booking-steps strong{font:600 21px var(--display-face);color:var(--cream)}.booking-steps p{margin:8px 0 0;font-size:15px;color:#e9e1d3cf}
.contact-email{font-size:14px!important;line-height:1.8}.order-total{border-top:1px solid #b89b6266;border-bottom:1px solid #b89b6266;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:18px 0;margin:0 0 25px}.order-total span{font-size:16px}.order-total strong{font:600 21px var(--display-face);white-space:nowrap}
.request-form .eyebrow{font-weight:600;color:#6b5635;font-size:11px}.request-form #email-draft-link{display:inline-block;font-family:'Lato',sans-serif;font-weight:700;font-size:13px;color:#493b58}
.payment-panel{border:1px solid #b89b6277;padding:32px;background:#222534ee;box-shadow:inset 0 0 0 6px #151927,inset 0 0 0 7px #b89b6233;scroll-margin-top:25px}
.payment-panel h3{font-size:33px;margin:18px 0}.payment-panel>p{font-size:15px;line-height:1.75}.payment-panel .payment-selection{font:600 22px var(--display-face);color:var(--cream);border-top:1px solid #b89b6244;border-bottom:1px solid #b89b6244;padding:18px 0}.payment-panel .button{display:block;text-align:center;background:var(--cream);font-size:11px;letter-spacing:1px;padding:18px 12px;margin:24px 0 15px}.payment-panel .small-note{font:12px/1.75 'Lato',sans-serif;color:#e9e1d3cf}.payment-alternative{border-top:1px solid #b89b6255;padding:17px 0}.payment-alternative summary{font:600 17px var(--reading-face);cursor:pointer}.payment-alternative p{font-size:14px;line-height:1.8}.payment-alternative a{color:#ded1ee;text-underline-offset:4px}
.editorial-footer{position:relative;padding-top:80px}.editorial-footer:before{position:absolute;top:12px;left:calc(50% - 105px)}
@media(max-width:760px){.portrait-caption{font-size:16px;letter-spacing:1px}.service-card{padding:42px 26px 32px}.service-card:before,.service-card:after{width:55px;height:55px}.booking-intro{position:static;grid-column:auto;grid-row:auto}.request-form,.payment-panel{grid-column:auto;grid-row:auto}.payment-panel{padding:28px 22px}.payment-panel h3{font-size:30px}.practice-list,.faq-list{padding-left:15px;padding-right:15px}.journal-card{padding:32px 25px}.order-total{flex-wrap:wrap;gap:8px}.services-section:before,.journal-section:before{width:190px;left:calc(50% - 95px)}.booking-layout{gap:32px}}

/* Keep each acanthus scroll whole, with a dedicated space above/below content. */
.service-card{padding:78px 36px 82px;overflow:visible}
.service-card:before,.service-card:after{width:64px;height:64px;background-size:contain;background-position:center}
.service-card:before{top:12px;left:12px}.service-card:after{bottom:12px;right:12px}
.service-top,.service-bottom{position:relative;z-index:1}
.service-top .eyebrow{margin-top:0}.service-card .button{max-width:100%;white-space:normal;text-align:center}
.reviews-content{max-width:1250px;padding-top:72px;padding-bottom:72px}
.reviews-content .reviews-intro{max-width:540px;margin:24px auto 42px;font-size:17px;line-height:1.7}
.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;text-align:left;margin:0 auto 40px;align-items:stretch}
.testimonial-card{position:relative;min-width:0;margin:0;padding:25px 35px 34px;background:linear-gradient(135deg,#F4F0E8F5,#E9E1D3E8);border:1px solid #B89B62;box-shadow:inset 0 0 0 6px #E9E1D3,inset 0 0 0 7px #B89B6260;display:flex;flex-direction:column}
.testimonial-ornament{width:145px;height:32px;flex-shrink:0;align-self:center;margin:0 auto 18px;background:url('victorian-flourish.svg') center/contain no-repeat}
.testimonial-card blockquote{margin:0;padding:0;border:0;flex:1}
.testimonial-card blockquote p{font:400 19px/1.8 var(--reading-face);color:#383040;margin:0 0 28px;overflow-wrap:break-word}
.testimonial-card figcaption{border-top:1px solid #B89B6266;padding-top:17px}
.testimonial-name{display:block;font:600 22px/1.4 var(--display-face);color:#49384F;letter-spacing:.1px}
.testimonial-source{display:block;font:10px/1.6 'Lato',sans-serif;letter-spacing:.5px;color:#6B5737;margin-top:6px}
.testimonial-card:last-child:nth-child(odd){grid-column:1 / -1;max-width:800px;width:100%;justify-self:center}
.review-actions .button{max-width:100%;white-space:normal;line-height:1.7;padding:18px 25px;font-size:11px;letter-spacing:1.5px}
@media(max-width:760px){.service-card{padding:76px 26px 80px}.service-card:before,.service-card:after{width:60px;height:60px}.service-card:before{top:12px;left:12px}.service-card:after{bottom:12px;right:12px}.testimonial-grid{grid-template-columns:minmax(0,1fr);gap:24px}.testimonial-card{padding:25px 27px 30px}.testimonial-card blockquote p{font-size:17px;line-height:1.85}.testimonial-name{font-size:22px}.testimonial-source{font-size:10px}.reviews-content .reviews-intro{font-size:16px;margin-bottom:32px}.testimonial-card:last-child:nth-child(odd){grid-column:auto}}
@media(max-width:360px){.service-card{padding-left:24px;padding-right:24px}.service-bottom{flex-direction:column;align-items:flex-start}.testimonial-card{padding-left:23px;padding-right:23px}}

/* Victorian correspondence opens the journal, with images throughout the guides. */
.reviews-content:after{content:none;display:none}
.journal-illustrated{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:6%;max-width:1440px;padding-bottom:70px!important}
.journal-welcome{min-width:0}.journal-welcome h1{font-size:clamp(50px,5.5vw,78px)}.journal-welcome>p:not(.eyebrow){font-size:17px;line-height:1.8;color:#e9e1d3cf;max-width:440px}
.journal-illustrated .journal-index{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:30px}
.journal-illustrated .journal-index a{font-size:15px;line-height:1.6;text-transform:none;letter-spacing:0;color:#c6b3dc;text-underline-offset:5px}
.journal-stationery{margin:0;min-width:0;padding:10px;border:1px solid #b89b6277;box-shadow:inset 0 0 0 4px #151927,inset 0 0 0 5px #b89b6233}
.journal-stationery img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.journal-stationery figcaption{font:italic 18px/1.5 var(--display-face);color:var(--cream);text-align:center;padding:20px 12px 12px}
.journal-article{max-width:880px;padding-left:55px;padding-right:55px}.journal-story-image{margin:0 0 42px;padding:8px;border:1px solid #b89b6266;background:#222534}
.journal-story-image img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 58%}
.journal-story-image figcaption{font:italic 18px/1.5 var(--display-face);color:var(--cream);text-align:center;padding:18px 8px 10px}
@media(max-width:760px){.journal-illustrated{grid-template-columns:minmax(0,1fr);gap:35px;padding-top:45px;padding-bottom:42px!important}.journal-welcome h1{font-size:clamp(49px,13.2vw,67px)}.journal-welcome>p:not(.eyebrow){font-size:16px}.journal-stationery{width:100%;max-width:550px;margin:auto}.journal-article{padding:42px 7%}.journal-story-image{margin-bottom:32px}.journal-story-image img{aspect-ratio:4/3}.journal-story-image figcaption,.journal-stationery figcaption{font-size:17px}}

/* A separate letter layer rises behind the stationary envelope front. */
.letter-scene{position:relative;aspect-ratio:3/2;overflow:hidden}
.letter-scene .letter-poster{width:100%;height:auto;display:block}
.letter-animation{position:absolute;inset:0;width:100%;height:100%;display:none}
.letter-running .letter-animation{display:block}.letter-running .letter-poster{visibility:hidden}
.rising-letter{transform-box:view-box;transform:translateY(20%);animation:letter-unfold 8s cubic-bezier(.3,0,.25,1) both;animation-play-state:paused}
.letter-running .rising-letter{animation-play-state:running}.letter-paused .rising-letter{animation-play-state:paused}
@keyframes letter-unfold{0%{transform:translateY(20%)}100%{transform:translateY(0)}}
.letter-control{display:block;margin:0 auto 8px;padding:7px 4px;border:0;border-bottom:1px solid #b89b6266;background:transparent;color:var(--cream);font:11px/1.6 'Lato',sans-serif;cursor:pointer}.letter-control[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.letter-animation{display:none!important}.letter-running .letter-poster{visibility:visible}.rising-letter{animation:none;transform:none}.letter-control{display:none}}

/* Return to the exact original still after the opening completes. */
.letter-finished .letter-animation{display:none}.letter-finished .letter-poster{visibility:visible}

/* Filled woven damask, matched to the TerraLune Facebook cover. */
body{background-color:var(--navy);background-image:linear-gradient(#15192733,#15192733),url('banner-damask.webp');background-repeat:repeat;background-size:auto,640px 640px}
#home.hero,#home .hero-art,.services-section,.practice-room,.journal-section,.questions,.journal-page,.booking-room{background:transparent}
.service-card{background-image:linear-gradient(140deg,#222534b8,#151927b8),url('banner-damask.webp');background-size:auto,500px 500px;background-repeat:repeat}
.journal-card,.payment-panel{background-image:linear-gradient(#222534cc,#222534cc),url('banner-damask.webp');background-size:auto,500px 500px}
@media(max-width:760px){body{background-size:auto,460px 460px}.service-card,.journal-card,.payment-panel{background-size:auto,420px 420px}}

#home .hero-art{isolation:auto}

/* Keep the opening logo and introduction on uninterrupted plain navy. */
.hero-backdrop,#home.hero,#home .hero-art{background:var(--navy)}
#home .hero-art{isolation:isolate}

/* Plain navy for the journal preview, cards, and the separate journal page. */
.journal-backdrop,.journal-page-body,#journal.journal-section,.journal-page{background:var(--navy)}
.journal-card{background:var(--charcoal)}

/* Solid backgrounds for booking and the full-width footer. */
#booking.booking-room,.footer-backdrop,.editorial-footer{background:var(--navy)}
#booking .payment-panel{background:var(--charcoal)}

/* Compact bilingual navigation keeps the cream header slim. */
.site-header .language-switch{display:flex;align-items:center;gap:10px;flex-shrink:0;font:11px/1.4 'Lato',sans-serif;letter-spacing:.6px;margin-left:auto}
.language-switch a{font:inherit;text-transform:none;letter-spacing:inherit;text-decoration:none;color:#62506E;padding:7px 0;border-bottom:1px solid transparent}
.language-switch a:hover,.language-switch a:focus-visible{color:var(--navy);border-bottom-color:var(--navy)}
.language-switch [aria-current]{font-weight:700;color:var(--navy);border-bottom:1px solid var(--navy);padding:7px 0}
html[lang=fr] .button{white-space:normal;line-height:1.6;text-align:center}
html[lang=fr] .hero h1{font-size:clamp(51px,5.9vw,85px)}
html[lang=fr] .request-form .button{letter-spacing:.7px}
html[lang=fr] .testimonial-source{line-height:1.8}
@media(max-width:760px){.site-header .language-switch{margin-left:0;font-size:11px;gap:9px}.site-header .menu-toggle{margin-left:auto}.site-header{gap:17px}html[lang=fr] .hero h1{font-size:clamp(48px,13vw,70px)}html[lang=fr] .hero .eyebrow{line-height:1.9}html[lang=fr] .service-card .button{font-size:9px;padding:12px;letter-spacing:.3px}html[lang=fr] .review-actions .button{font-size:10px;letter-spacing:.8px}}
@media(min-width:761px) and (max-width:1000px){.site-header .header-link{display:none}.site-header{gap:14px}.site-header .wordmark{font-size:30px}.site-header #site-nav{gap:16px}.site-header #site-nav a{font-size:10px;letter-spacing:.8px}}

/* Reliable logo playback after image load, with explicit replay/pause controls. */
.logo-motion-managed .native-flower-disc,.logo-motion-managed .native-charm,.logo-motion-managed .native-moon-halo,.logo-motion-managed .native-logo-shimmer:after{animation:none!important}
.logo-motion-managed .native-logo-shimmer:after{display:none}
.native-shimmer-light{display:block;position:absolute;inset:0;opacity:0;pointer-events:none;background:linear-gradient(105deg,transparent 29%,#FFF1C780 38%,#FFFFFF 46%,#FFF8DF 53%,#FFFFFFC9 59%,transparent 71%)}
.logo-motion-controls{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;margin-top:10px}
.logo-motion-controls .logo-play{margin:0;color:var(--cream);font-size:10px;letter-spacing:.2px;padding:7px 0}
.logo-motion-paused *,.logo-motion-paused *:after{animation-play-state:paused!important}
.logo-motion-reset *,.logo-motion-reset *:after{animation:none!important}

/* Keep the automatic repeating logo free of on-screen controls. */
.logo-motion-controls[hidden]{display:none}

/* Russian uses the same palette and space for longer Cyrillic labels. */
html[lang=ru]{--display-face:'Source Serif 4',Georgia,serif}
html[lang=ru] .button{white-space:normal;line-height:1.65;text-align:center;letter-spacing:.8px}
html[lang=ru] .hero h1{font-size:clamp(43px,5vw,76px)}
html[lang=ru] .story h2,html[lang=ru] .section-head h2{font-size:clamp(37px,3.7vw,56px)}
html[lang=ru] .service-card h3{font-size:30px;overflow-wrap:break-word}
html[lang=ru] .site-header #site-nav a{letter-spacing:.6px}
html[lang=ru] .request-form .button{font-size:10px;letter-spacing:.3px}
html[lang=ru] .journal-welcome h1{font-size:clamp(42px,4.8vw,67px)}
html[lang=ru] .testimonial-source{line-height:1.8}
.site-header .language-switch{gap:9px}
@media(max-width:760px){.site-header .language-switch{gap:8px;font-size:10px}.site-header{gap:13px}html[lang=ru] .hero h1{font-size:clamp(39px,11vw,60px)}html[lang=ru] .hero .eyebrow{line-height:1.9;letter-spacing:1.7px}html[lang=ru] .story h2,html[lang=ru] .section-head h2{font-size:37px}html[lang=ru] .service-card h3{font-size:29px}html[lang=ru] .service-card .button{font-size:9px;letter-spacing:.2px;padding:12px}html[lang=ru] .journal-welcome h1{font-size:clamp(39px,11vw,57px)}html[lang=ru] .booking-intro h2{font-size:37px}}

/* Plain navy delivery details beneath the wallpaper reading cards. */
.delivery-backdrop{background:var(--navy);border-top:1px solid #b89b6230}
.services-section{padding-bottom:40px}
.delivery-section{padding-top:34px;padding-bottom:46px}
.delivery-section .delivery-strip{margin-top:0;padding-top:0;border-top:0}

/* Inline booking feedback preserves the existing form and payment styling. */
#payment[hidden],#request-status[hidden]{display:none}
.request-status{padding:16px 0 0;border-top:1px solid #b89b6260}
.request-status[data-state=error]{color:#7a3345}
.request-status[data-state=success]{color:#493b58;font-weight:700}
.request-form button:disabled{cursor:wait;opacity:.7}
#payment{scroll-margin-top:28px}
