/* Shared public navigation, contact cards and readable legal text. */
.offer-document .legal-table{width:100%;border-collapse:collapse;table-layout:fixed;margin:24px 0 30px;font-size:14px;line-height:1.7;text-align:left}.legal-table th,.legal-table td{padding:15px 16px;vertical-align:top;border-bottom:1px solid #e3ddd1;overflow-wrap:anywhere}.legal-table th{font-weight:600;background:#efeee7}.legal-table th:first-child{width:34%}.legal-table td:first-child{color:#536247}@media(max-width:600px){.offer-document .legal-table{font-size:13px}.legal-table th,.legal-table td{padding:12px 9px}}
a:focus-visible,summary:focus-visible{outline:2px solid #66715b;outline-offset:5px}
header nav a{display:inline-flex;align-items:center;min-height:44px}
header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
.skip-link{position:absolute;left:20px;top:-100px;background:#f8f5ee;padding:12px;z-index:20}.skip-link:focus{top:10px}
.public-main{max-width:1120px;margin:0 auto;padding:64px 6% 88px;min-height:65vh}
.contact-intro{max-width:680px;margin-bottom:40px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#626d58}
.contact-intro h1{max-width:660px;font-size:clamp(32px,4vw,48px);line-height:1.22;margin:0 0 22px}.contact-lead{font-size:15px;max-width:560px}
.contact-primary{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;padding:10px 22px;border-radius:24px;font-size:13px;font-weight:400}
.contact-secondary{border-top:1px solid #e3ddd1;padding-top:28px;max-width:680px}.contact-secondary h2{font-size:23px}.contact-secondary p{margin:12px 0 4px;font-size:14px;max-width:490px}.contact-email{display:inline-flex;align-items:center;min-height:44px;font-size:15px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.contact-details{border-top:1px solid #e3ddd1;margin-top:32px;padding-top:24px}.contact-details h2{font-size:19px}.contact-details dl{margin:18px 0;font-size:13px}.contact-details dl div{display:grid;grid-template-columns:125px 1fr;gap:16px;margin:8px 0}.contact-details dt{color:#626d58}.contact-details dd{margin:0}.text-link,.back-link{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px}
.offer-document{max-width:760px;margin:auto;font-size:15px;line-height:1.85;overflow-wrap:anywhere}.offer-document h1{font-size:clamp(28px,4vw,42px);line-height:1.25;margin-top:28px}.offer-document h2{font-size:25px;line-height:1.4;margin:48px 0 20px;scroll-margin-top:24px}.offer-document p{margin:18px 0}.offer-document ul{padding-left:24px}.offer-document li{margin:8px 0}.offer-document a{ text-decoration:underline;text-underline-offset:3px}.offer-subtitle{font-size:18px}.offer-toc{border-block:1px solid #e3ddd1;margin:28px 0;padding:16px 0}.offer-toc summary{cursor:pointer;min-height:44px;align-content:center}.offer-toc ol{list-style:none;padding:0}.offer-toc a{display:block;padding:6px 0}
.studio-footer{border-top:1px solid #e3ddd1;padding-block:30px}.footer-contacts,.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px}.studio-footer a:not(.footer-brand){display:inline-flex;align-items:center;min-height:44px;font-size:13px;overflow-wrap:anywhere}.footer-links{font-family:StoreManrope,Arial,sans-serif}
@media(max-width:600px){.public-main{padding:34px 20px 56px}.contact-details dl div{grid-template-columns:1fr;gap:2px}.contact-intro{margin-bottom:32px}.contact-secondary h2{font-size:22px}.offer-document{font-size:14px}.offer-document h2{font-size:23px}.footer-contacts,.footer-links{gap:0 18px}}
@media(max-width:480px){header nav{gap:18px}header nav a{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* One airy composition: a translucent floral wash behind the contact page. */
.contact-scene{position:relative;isolation:isolate;padding:16px 0 46px}
.contact-scene::before{content:"";position:absolute;z-index:-1;inset:-64px -7% -20px -7%;background:url("assets/contacts-floral-wash-v1.png") right center/cover no-repeat;opacity:.3;pointer-events:none;mask-image:linear-gradient(to right,transparent,#000 8%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 82%,transparent);mask-composite:intersect}
.contact-intro{max-width:none;padding:0 0 52px;margin:0}
.contact-copy{max-width:630px}
.contact-intro h1{font-size:clamp(34px,4vw,48px);line-height:1.22;letter-spacing:-.025em;max-width:590px;margin:0 0 26px;text-wrap:balance}
.contact-intro h1 em{font-style:italic;font-weight:400;color:#71805e;white-space:nowrap}
.contact-lead{max-width:520px;margin:0;line-height:1.85;font-size:14px}
.contact-primary{margin-left:0;margin-top:28px;justify-content:center;background:linear-gradient(135deg,#738361,#596c4c);border:1px solid #5e714f;border-radius:999px;padding:15px 34px;min-height:54px;font-size:15px;font-weight:500;line-height:1.5;letter-spacing:.015em;box-shadow:inset 0 1px 0 #ffffff38,0 5px 14px #40523420;color:#fff;text-decoration:none}
.contact-primary:hover{background:linear-gradient(135deg,#667955,#4c6040);border-color:#4c6040;box-shadow:inset 0 1px 0 #ffffff38,0 6px 18px #4052342c}.contact-primary:active{background:#526644;box-shadow:inset 0 2px 4px #26351d26}.contact-primary:focus-visible{outline-offset:5px}
.contact-secondary{max-width:900px;border:0;padding:30px 0 0;margin:0}
.contact-secondary h2{font-size:28px;line-height:1.4}.contact-secondary p{max-width:530px;margin-top:14px;line-height:1.9}
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:26px}
.contact-methods a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;min-height:84px;color:#47543d;text-decoration:none;padding:8px 0}
.contact-methods a span{display:inline-flex;align-items:center;gap:12px;font-family:StoreLora,Georgia,serif;font-size:30px;line-height:1.3;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.contact-methods small{font-size:14px;line-height:1.7;color:#626d58;overflow-wrap:anywhere;max-width:100%}
.contact-methods a:hover span{text-decoration-thickness:2px}
.contact-details{position:relative;border-top:0;margin-top:32px;padding-top:28px}.contact-details::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#d8d0c1,#d8d0c155 65%,transparent)}
@media(max-width:700px){.contact-scene{padding:8px 0 26px}.contact-scene::before{inset:-34px -20px -10px;background-position:70% center;opacity:.2}.contact-intro{padding-bottom:26px;margin:0}.contact-intro h1{font-size:34px;margin-bottom:24px}.contact-lead{font-size:14px;line-height:1.85}.contact-primary{margin-top:22px}.contact-secondary{padding-top:22px}.contact-secondary h2{font-size:25px}.contact-methods{grid-template-columns:1fr;gap:14px;margin-top:20px}.contact-methods a{min-height:76px;gap:9px}.contact-methods a span{font-size:29px}.contact-methods small{font-size:14px}.contact-details{margin-top:24px}}

.contact-icon{width:24px;height:24px;flex:0 0 24px;overflow:visible}

/* Legal prose is a document, not a gallery card (global article styles). */
.public-main:has(.offer-document){max-width:1080px;padding-top:32px}
.public-main:has(.offer-document)>.back-link{display:flex;width:100%;max-width:760px;margin:0 auto 24px;font-size:13px;color:#626d58}
article.offer-document{display:block;max-width:760px;padding:0;margin:0 auto;background:transparent;border:0;border-radius:0;overflow:visible;box-shadow:none;font-size:15px;line-height:1.9}
.offer-heading{padding:0 0 26px;border-bottom:1px solid #ded8cb}
.offer-document .offer-heading h1{font-size:clamp(32px,4vw,44px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0 0 18px}
.offer-document .offer-subtitle{max-width:640px;font-size:17px;line-height:1.7;margin:0 0 20px;color:#53584c}
.offer-heading>p:last-child{font-size:12px;line-height:1.9;color:#68705f;margin:0}
.offer-heading>p:last-child strong{font-weight:500}
.offer-document .offer-toc{margin:24px 0 36px;padding:12px 20px;border:1px solid #e3ddcf;border-radius:12px;background:#eeece34d}
.offer-toc summary{font-size:14px;cursor:pointer;min-height:44px;align-content:center}
.offer-toc ol{margin:8px 0 12px}.offer-toc a{font-size:13px;line-height:1.6;padding:7px 0;color:#536247;text-decoration:none}.offer-toc a:hover{text-decoration:underline}
.offer-document h2{font-size:26px;line-height:1.4;font-weight:400;margin:44px 0 20px;scroll-margin-top:24px}
.offer-document p{margin:0 0 20px}.offer-document li{margin:8px 0}.offer-document ul{margin:0 0 24px;padding-left:22px}
@media(max-width:600px){.public-main:has(.offer-document){padding:24px 22px 56px}.public-main:has(.offer-document)>.back-link{margin-bottom:24px}.offer-document .offer-heading h1{font-size:32px}.offer-document .offer-subtitle{font-size:15px}.offer-heading{padding-bottom:22px}article.offer-document{font-size:14px;line-height:1.85}.offer-document h2{font-size:23px;margin-top:36px}.offer-document .offer-toc{padding:10px 16px;margin:22px 0 30px}}

/* Shared catalogue and price-list presentation */
.design-price {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px}
.design-price .sale-label {flex-basis:100%;color:#687955;font-size:12px;letter-spacing:.05em}
.design-price .regular-price {color:#88867c;font-size:17px;text-decoration-thickness:1px}
.design-price .price {margin:0;color:#526443;font-size:30px;font-weight:500}
.catalog-pricing-link {display:inline-block;margin:0 0 24px}
/* A single editorial price sheet, using the studio's existing floral artwork. */
.public-main:has(.pricing-page){max-width:1200px;padding-top:38px}
.pricing-page{position:relative;isolation:isolate}
.pricing-page::before{content:none}
.pricing-page>.back-link{font-size:13px;color:#737b68}
.pricing-intro{padding:38px 0 20px;max-width:700px}
.pricing-eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#79846d;margin:0 0 16px}
.pricing-intro h1{font-size:clamp(48px,6vw,76px);font-weight:400;letter-spacing:-.035em;line-height:1.12;margin:0 0 22px}
.pricing-lead{font-size:17px;line-height:1.7;color:#727566;margin:0}
.pricing-sheet{padding:0 40px 34px;border:1px solid #ded8cc;border-radius:4px;background:#fbf9f3b8;box-shadow:0 16px 48px #66573d08;overflow:hidden}
.pricing-table-heading{display:flex;justify-content:space-between;margin:0 -40px;padding:23px 40px 21px;background:transparent;font-family:"Lora",Georgia,serif;font-size:22px;font-style:italic;font-weight:400;letter-spacing:0;text-transform:none;color:#536145;border-bottom:1px solid #d5d1c4}
.pricing-list{margin:0}
.pricing-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:28px;padding:24px 0;border-bottom:1px solid #e0dcd0}
.pricing-row dt{display:flex;gap:22px;align-items:baseline;min-width:0}
.pricing-number{font-size:10px;color:#969c87;letter-spacing:.06em;min-width:18px}
.pricing-name{font-family:'Lora',Georgia,serif;font-size:21px;line-height:1.5;font-weight:400;color:#393f32}
.pricing-row dd{margin:0;color:#61734f;white-space:nowrap}
.pricing-value{font-family:'Lora',Georgia,serif;font-size:25px;line-height:1.4}
.pricing-value-text{font-family:inherit;font-size:14px}
.pricing-bottom{padding-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.pricing-bottom p{flex-basis:100%;font-size:12px;line-height:1.8;max-width:570px;color:#7a7d6c;margin:0}
.pricing-bottom .contact-primary{margin:0;font-size:13px;padding:14px 24px;min-height:46px}
.pricing-bottom .text-link{font-size:13px;color:#6f7961}
@media(max-width:640px){.public-main:has(.pricing-page){padding:26px 20px 48px}.pricing-intro{padding:34px 0 30px}.pricing-intro h1{font-size:48px;margin-bottom:18px}.pricing-lead{font-size:15px;max-width:280px}.pricing-page::before{content:none}.pricing-sheet{padding:0 18px 24px}.pricing-table-heading{font-size:20px;letter-spacing:0;margin:0 -18px;padding:20px 18px}.pricing-row{gap:14px;padding:21px 0}.pricing-row dt{gap:10px}.pricing-number{font-size:9px;min-width:13px}.pricing-name{font-size:17px}.pricing-value{font-size:20px}.pricing-value-text{font-size:11px;white-space:normal!important;max-width:85px;text-align:right}.pricing-bottom{gap:20px}.pricing-bottom p{font-size:11px}.pricing-bottom .contact-primary{width:100%;justify-content:center}.pricing-bottom .text-link{margin:auto}}




.pricing-included{margin:0 0 44px;padding:28px 0 32px;border-top:1px solid #d9ddcc;border-bottom:1px solid #d9ddcc}
.pricing-included h2,.pricing-extras-title{font-family:'Lora',Georgia,serif;font-size:27px;font-weight:400;line-height:1.4;color:#3e4935;margin:0 0 24px}
.pricing-included ul{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;list-style:none;margin:0;padding:0}
.pricing-included li{position:relative;padding-left:22px;line-height:1.75}
.pricing-included li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border:1px solid #83936e;border-radius:50%;background:#e5eadb}
.pricing-included strong{display:block;font-size:14px;font-weight:500;color:#49563e;margin-bottom:4px}
.pricing-included span{display:block;font-size:13px;color:#74796b;max-width:390px}
.pricing-extras-title{margin-bottom:20px}
@media(max-width:640px){.pricing-included{padding:24px 0;margin-bottom:30px}.pricing-included h2,.pricing-extras-title{font-size:23px}.pricing-included ul{grid-template-columns:1fr;gap:20px}.pricing-included span{font-size:12px}}


/* Botanical corners span the page; the middle stays clear for reading. */
body:has(.pricing-page){position:relative;isolation:isolate;background-color:#f7f4ee}
body:has(.pricing-page)::before,body:has(.pricing-page)::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:0;right:0;height:950px;background:linear-gradient(to right,transparent,#f7f4ee 25%,#f7f4ee 73%,transparent),url("assets/contacts-floral-wash-v1.png") right center/1300px auto no-repeat;opacity:.2;mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 55%,transparent 95%)}
body:has(.pricing-page)::before{top:80px}
body:has(.pricing-page)::after{bottom:80px;transform:scaleX(-1);opacity:.14}
@media(max-width:640px){body:has(.pricing-page)::before,body:has(.pricing-page)::after{height:1000px;background:linear-gradient(to right,#f7f4eedd,#f7f4eea6 60%,transparent),url("assets/contacts-floral-wash-v1.png") 75% center/900px auto no-repeat;opacity:.16}.pricing-sheet{background:#fbf9f3c9}}

/* Compact shared footer: signature, contacts and information. */
.studio-footer{display:grid;grid-template-columns:1fr 1fr 1.15fr;align-items:start;gap:20px 40px;text-align:left;padding:24px max(6%,calc((100% - 1120px)/2));}
.footer-signature{min-width:0}
.footer-signature .footer-brand img{width:145px;height:auto}
.footer-signature p{font-size:11px;margin:2px 0 0;line-height:1.6;color:#7b806f}
.studio-footer .footer-contacts,.studio-footer .footer-links{justify-content:flex-start;align-content:start;gap:0 20px;min-width:0;padding-top:8px}
.studio-footer a:not(.footer-brand){font-size:12px;min-height:40px}
.footer-contacts a[href^="mailto:"]{flex-basis:100%}
.footer-links a:first-child{flex-basis:100%}
@media(max-width:700px){.studio-footer{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px 18px;padding:22px 20px}.footer-signature .footer-brand img{width:125px}.footer-signature p{font-size:10px;max-width:130px}.studio-footer .footer-contacts{gap:0 16px;padding-top:0}.studio-footer .footer-contacts a{font-size:11px}.studio-footer .footer-contacts a[href^="mailto:"]{font-size:10.5px}.studio-footer .footer-links{grid-column:1/-1;padding-top:8px;border-top:1px solid #e3ddd1;gap:0 20px}.footer-links a:first-child{flex-basis:auto}.studio-footer .footer-links a{font-size:11px;min-height:40px}}
