:root{--cream:#faf7f1;--wine:#782632;--ink:#241f20;--muted:#686165;--line:#d9ccc6;--white:#fffdf9;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #187b8e;outline-offset:4px}.wrap{max-width:1250px;width:calc(100% - 88px);margin:auto}.demo{background:#eee8e2;font-size:12px;color:#4e4044}.demo .wrap{display:flex;justify-content:space-between;gap:18px;padding:10px 0}.demo a{font-weight:700}.demo a:hover{text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 0}.brand{font:700 31px/1 var(--serif);letter-spacing:-1.2px;white-space:nowrap}.brand small{font:700 10px/1.2 Arial,sans-serif;letter-spacing:4px;display:block;text-align:center;margin-top:9px}.header nav{display:flex;gap:27px;align-items:center;font-size:14px}.header nav>a:not(.button):hover{color:var(--wine);text-decoration:underline}.menu{display:none}.button{border:1px solid var(--wine);background:var(--wine);color:white;border-radius:999px;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:50px;padding:12px 26px;font-weight:600;font-size:15px}.button:hover{background:#56202a;border-color:#56202a}.button.small{font-size:14px;padding:10px 20px;min-height:44px}.button.secondary{background:transparent;color:var(--wine)}.button.secondary:hover{background:#f0e3e4}.text-link{text-decoration:underline;text-underline-offset:5px;color:var(--wine);font-size:14px;display:inline-block;padding:10px 0}.text-button{background:transparent;color:var(--wine);border:0;border-bottom:1px solid currentColor;padding:10px 0;font-weight:700;font-size:14px;min-height:44px;text-align:left}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-bottom:38px}.portrait{width:100%;height:470px;border-radius:50% 50% 0 0 / 38% 38% 0 0;display:block;background:#e9e1d7}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--wine);font-weight:700;margin:0 0 16px}.hero h1{font:700 clamp(42px,4.5vw,68px)/1.04 var(--serif);letter-spacing:-3px;margin:0 0 25px}.lead{font-size:18px;line-height:1.55;max-width:460px;margin:0 0 26px}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}.photo-note{color:var(--muted);font-size:12px;margin:19px 0 0}.intro-strip{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding:32px 0 35px;border-block:1px solid var(--line)}h2{font:700 39px/1.14 var(--serif);letter-spacing:-1.4px;margin:0 0 20px}h3{font:700 24px/1.2 var(--serif);letter-spacing:-.5px;margin:0 0 12px}p{margin:0 0 15px}.intro-strip h2{font-size:28px;margin:0}.intro-strip>div{border-left:1px solid #a96872;padding-left:24px}.intro-strip strong{font:700 19px/1.3 var(--serif)}.intro-strip p{font-size:13px;line-height:1.55;color:var(--muted);margin:8px 0 0}.workshop{display:grid;grid-template-columns:1.5fr 1fr;margin-top:35px;background:#f0ebe3;align-items:center}.workshop svg{width:100%;height:260px;display:block}.workshop>div{padding:28px 40px}.workshop h2{font-size:29px;margin-bottom:15px}.workshop p:not(.eyebrow){font-size:14px;color:var(--muted);margin:0}.section{padding-top:75px;padding-bottom:75px}.section-head{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:32px}.section-head h2{margin:0}.section-head>p{max-width:420px;color:var(--muted);font-size:14px;margin:0}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}.filters button{padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);min-height:44px;font-size:14px}.filters button[aria-pressed=true]{color:white;background:var(--wine);border-color:var(--wine)}.muted{color:var(--muted);font-size:13px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{border:1px solid var(--line);background:var(--white);padding:22px;display:flex;flex-direction:column;min-width:0}.service-card.selected{border-color:var(--wine);box-shadow:inset 0 0 0 1px var(--wine)}.service-card .service-category{font-size:10px;color:var(--wine);letter-spacing:1.5px;display:flex;justify-content:space-between;gap:8px;margin-bottom:20px;font-weight:700}.service-card h3{font-size:22px}.service-card p{font-size:13px;color:var(--muted);flex:1}.service-card .service-price{font-size:13px;font-weight:700;color:var(--ink);margin:8px 0 15px}.service-card button{width:100%;border:1px solid var(--wine);background:transparent;color:var(--wine);min-height:44px;padding:8px 10px;font-size:13px;font-weight:700}.service-card button[aria-pressed=true]{background:var(--wine);color:white}.more-services{margin-top:18px;width:100%}.packages-section{background:#eee7df;border-block:1px solid var(--line)}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.package-grid article{padding:0 30px 0 0;border-right:1px solid #b6a39c}.package-grid article:last-child{border:0;padding-right:0}.index{color:var(--wine);font-size:11px;letter-spacing:1.5px;font-weight:700;display:block;margin-bottom:14px}.package-grid p{color:var(--muted);font-size:14px}.calculator{display:grid;grid-template-columns:1.25fr 1fr;gap:45px;align-items:start}.calculator-main{background:white;border:1px solid var(--line);padding:32px}.calculator-main>h3{margin-top:28px}label{display:block;font-size:14px;font-weight:700;margin:0 0 8px}input,select,textarea{width:100%;border:1px solid #bcaeaa;border-radius:3px;background:white;padding:12px 13px;min-height:48px;color:var(--ink)}select{margin:0}input::placeholder,textarea::placeholder{color:#81787a}textarea{resize:vertical}.field-note{font-size:12px;color:var(--muted);margin:9px 0 18px;line-height:1.6}.selected-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 0;border-bottom:1px solid var(--line)}.selected-row strong{display:block;font-size:15px}.selected-row span{display:block;font-size:13px;color:var(--muted);margin-top:4px}.selected-row button{border:0;background:transparent;color:var(--wine);font-size:13px;min-height:44px;padding:8px}.empty{padding:24px;border:1px dashed var(--line);font-size:14px;color:var(--muted)}.scope-details{margin-top:24px;border-top:1px solid var(--line)}summary{cursor:pointer;font-size:14px;font-weight:700;padding:17px 0}.scope-details p{font-size:13px;color:var(--muted)}.quote-summary{position:sticky;top:24px;background:#f1e7e4;border:1px solid #c4a3a4;padding:30px}.quote-summary>output{display:block;font:700 clamp(28px,3.1vw,44px)/1.2 var(--serif);letter-spacing:-1px;margin-bottom:10px;color:var(--wine)}.quote-summary>p{font-size:13px}.quote-summary>.button{width:100%;margin:8px 0 18px}.export-details{border-top:1px solid #c4a3a4}.export-actions{display:flex;gap:20px;flex-wrap:wrap}.quote-qr{display:flex;flex-direction:column;gap:15px;margin-top:24px;align-items:flex-start}.quote-qr #quote-qr{width:240px;max-width:100%;background:white}.quote-qr svg{display:block;width:100%;height:auto}.quote-qr strong{font-size:14px}.quote-qr p{font-size:12px;color:var(--muted);margin:5px 0 0}.booking-section{background:var(--white);border-block:1px solid var(--line)}.booking-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:70px}.booking-steps{padding:0;margin:0 0 25px;list-style:none}.booking-steps li{display:flex;gap:18px;padding:19px 0;border-bottom:1px solid var(--line);opacity:.6}.booking-steps li[aria-current=step]{opacity:1}.booking-steps li>span{font:700 28px/1.3 var(--serif);color:var(--wine)}.booking-steps small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.booking-steps strong{font-size:15px}.booking-choice{background:#f0e7e1;padding:24px}.booking-choice p:not(.eyebrow){font-size:13px}.booking-choice strong{color:var(--wine);font-size:19px;display:block}.booking-choice .text-link{font-size:13px}.form-step{border:0;padding:0;margin:0}.form-step legend{font-size:11px;letter-spacing:2px;color:var(--wine);margin-bottom:18px}.form-step h3{font-size:29px;margin-bottom:25px}.form-step input,.form-step textarea{margin-bottom:18px}.fields-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-step>.button{margin-top:10px;width:100%}.form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.form-actions .button{flex:1;max-width:270px}.request-review{background:#f8f3ed;border:1px solid var(--line);padding:20px;margin-bottom:25px;font-size:14px;overflow-wrap:anywhere;white-space:pre-line}.form-status{margin-top:25px;padding:22px;background:#edf2eb;border:1px solid #598164;color:#284d32;font-size:15px}.faq{display:grid;grid-template-columns:.85fr 1.3fr;gap:70px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{font-size:15px;padding:21px 0}.faq details p{font-size:14px;color:var(--muted);padding-bottom:10px}.contact-section{background:#6b222d;color:#fff9f1;padding:45px 0 20px}.contact-grid{display:grid;grid-template-columns:1fr .8fr 1.3fr;gap:45px}.contact-grid>div>p{font-size:14px;margin-top:16px;color:#f0d9dc}.contact-grid strong{font-size:13px}.contact-grid>div:nth-child(2)>p{margin:4px 0 17px}.page-qr-details summary{padding-top:0;font-size:15px}.page-qr-inner{display:flex;gap:20px;align-items:center}.page-qr-inner #page-qr{width:125px;flex-shrink:0}.page-qr-inner svg{width:100%;height:auto;display:block}.page-qr-inner p{font-size:12px;line-height:1.6;color:#f0d9dc}.page-qr-inner a{font-size:12px;text-decoration:underline}.footer-line{margin-top:30px;padding-top:20px;border-top:1px solid #9e5b65;display:flex;justify-content:space-between;gap:20px;font-size:12px}.mobile-bar{display:none}.skip{position:absolute;left:20px;top:-100px;padding:12px;background:var(--wine);color:white;z-index:20}.skip:focus{top:10px}
@media(max-width:1050px){.wrap{width:calc(100% - 48px)}.hero{gap:35px}.hero h1{font-size:55px}.portrait{height:410px}.header nav{gap:18px}.intro-strip{gap:20px}.intro-strip>div{padding-left:16px}.intro-strip h2{font-size:25px}.service-grid{grid-template-columns:repeat(2,1fr)}.workshop>div{padding:25px}.calculator{gap:24px}.quote-summary,.calculator-main{padding:24px}.booking-layout,.faq{gap:35px}.contact-grid{gap:25px}.page-qr-inner{display:block}.page-qr-inner>div+div{margin-top:16px}.fields-row{grid-template-columns:1fr;gap:0}}
@media(max-width:760px){body{padding-bottom:85px}.wrap{width:calc(100% - 36px)}.demo .wrap{display:block;padding:8px 0}.demo span{display:block;margin-top:3px;font-size:11px}.header{padding:22px 0;flex-wrap:wrap;gap:20px}.brand{font-size:28px}.brand small{font-size:9px;letter-spacing:3px}.menu{display:flex;align-items:center;gap:10px;min-height:44px;background:transparent;border:1px solid var(--line);color:var(--wine);padding:9px 12px;font-size:13px}.header nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav>a{padding:12px 4px;border-bottom:1px solid var(--line)}.header nav>.button{margin-top:15px;justify-content:center}.hero{display:flex;flex-direction:column;gap:25px;padding-bottom:30px}.hero-copy{order:-1;width:100%}.hero h1{font-size:45px;letter-spacing:-1.8px;line-height:1.05;margin-bottom:18px}.hero h1 br{display:none}.eyebrow{font-size:11px;letter-spacing:1.5px}.lead{font-size:16px;margin-bottom:21px;max-width:none}.hero-actions{gap:12px}.hero-actions .button{width:100%}.hero-actions .text-link{padding:5px 0}.portrait{height:280px;max-width:430px}.photo-note{font-size:11px;margin-top:15px}.intro-strip{grid-template-columns:1fr;gap:20px;padding:28px 0}.intro-strip h2{font-size:27px}.intro-strip h2 br{display:none}.intro-strip>div{padding-left:18px}.intro-strip strong{font-size:19px}.intro-strip p{font-size:13px}.workshop{grid-template-columns:1fr;margin-top:28px}.workshop svg{height:150px}.workshop>div{padding:28px}.workshop h2{font-size:28px}.section{padding-top:45px;padding-bottom:45px}.section-head{display:block;margin-bottom:25px}.section-head>p{max-width:none;margin-top:18px;font-size:14px}h2{font-size:31px;letter-spacing:-1px}.filters{gap:8px}.filters button{font-size:12px;padding:9px 13px}.service-grid{grid-template-columns:1fr}.service-card{padding:22px}.service-card .service-category{font-size:11px;margin-bottom:13px}.service-card h3{font-size:23px}.service-card p{font-size:14px}.service-card .service-price{font-size:14px}.service-card button{font-size:14px}.package-grid{grid-template-columns:1fr;gap:24px}.package-grid article{padding:0 0 24px;border:0;border-bottom:1px solid #b6a39c}.package-grid article:last-child{padding-bottom:0}.calculator{grid-template-columns:1fr;gap:22px}.calculator-main{padding:22px}.quote-summary{position:static;padding:24px}.quote-summary>output{font-size:34px}.quote-qr{flex-direction:column}.quote-qr #quote-qr{width:240px}.quote-qr p{font-size:13px}.export-actions{flex-direction:column;align-items:flex-start;gap:5px}.booking-layout{grid-template-columns:1fr;gap:25px}.booking-steps{display:flex;gap:12px;margin-bottom:20px}.booking-steps li{padding:10px 0;flex:1;gap:7px;align-items:flex-start}.booking-steps li>span{font-size:18px}.booking-steps strong{font-size:12px;line-height:1.3;display:block}.booking-steps small{display:none}.booking-choice{padding:20px}.booking-choice .eyebrow{margin-bottom:8px}.booking-choice p:not(.eyebrow){margin-bottom:8px}.form-step h3{font-size:28px}.fields-row{grid-template-columns:1fr}.form-actions{gap:16px}.form-actions .button{padding:12px 20px;max-width:none}.faq{grid-template-columns:1fr;gap:10px}.faq summary{font-size:15px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-grid>div:nth-child(2){border-block:1px solid #9e5b65;padding:25px 0}.page-qr-details{border-bottom:1px solid #9e5b65}.page-qr-details summary{padding:0 0 22px}.page-qr-inner{display:flex;margin-bottom:22px;align-items:flex-start}.page-qr-inner #page-qr{width:120px}.page-qr-inner>div+div{margin-top:0}.footer-line{flex-direction:column;gap:12px;border:0;margin-top:20px}.mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:1px solid var(--line);padding:12px 18px;justify-content:space-between;align-items:center;gap:15px;z-index:10;box-shadow:0 -4px 20px #241f2010}.mobile-bar>a:first-child{min-width:0}.mobile-bar span{display:block;font-size:12px;color:var(--muted)}.mobile-bar strong{display:block;font-size:14px;color:var(--wine)}.mobile-bar .button{font-size:12px;padding:10px 16px;white-space:nowrap}}
@media(max-width:360px){.hero h1{font-size:39px}.form-actions{flex-wrap:wrap}.form-actions .button{width:100%;max-width:none;flex:auto}.mobile-bar{padding:10px 12px;gap:10px}.mobile-bar strong{font-size:12px}.mobile-bar .button{font-size:11px;padding:10px 12px}.page-qr-inner{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{body{background:white;padding:0;color:black}body>*{display:none!important}#print-area{display:block!important;padding:25px;font:14px/1.6 Arial,sans-serif;white-space:pre-line}#print-area h1{font:700 28px Georgia,serif}#print-area[hidden]{display:block!important}}

.gallery{border-top:1px solid var(--line)}.gallery-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;margin-top:25px}.gallery figure{margin:0}.gallery img{width:100%;height:230px;object-fit:cover;display:block}.gallery figcaption{font:700 18px var(--serif);padding:14px 0}.detail-button{border:0!important;border-bottom:1px solid var(--line)!important;margin-bottom:12px;font-weight:400!important}dialog{border:0;padding:0;background:var(--cream);max-width:650px;width:calc(100% - 36px);max-height:90vh;overflow:auto;box-shadow:0 20px 70px #241f2040}dialog::backdrop{background:#241f2077}#detail-close{display:block;margin:12px 18px 12px auto;min-height:44px;background:transparent;border:0;color:var(--wine);font-weight:700}dialog img{display:block;width:100%;height:240px;object-fit:cover}.detail-copy{padding:28px}.detail-copy>strong{display:block;color:var(--wine);margin:18px 0}.detail-copy>.button{width:100%}@media(max-width:760px){.gallery-grid{grid-template-columns:1fr;gap:22px}.gallery img{height:220px}dialog img{height:190px}.detail-copy{padding:22px}}

.contact-section a:focus-visible,.contact-section summary:focus-visible{outline-color:#fff3cf}
