@import "https://fonts.googleapis.com/css2?family=Allura&display=swap";
@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&display=swap";
:root{--font-heading:"Allura", cursive;--font-body:"Cormorant Garamond", serif;--font-button:"Allura", cursive;--color-bg:#f7f1e7;--color-surface:#fffdfa;--color-heading-text:#3d2a21;--color-body-text:#4e3b31;--color-muted:#7a675c;--color-border:#d9c6b3;--color-primary:#5f4131;--color-primary-contrast:#fff;--container-width:1120px;--radius:14px;--shadow-soft:0 8px 24px #00000014}*{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{font-family:var(--font-body);color:var(--color-body-text);background:radial-gradient(circle at top left, #fffdfaf2 0%, #fffdfa00 42%), radial-gradient(circle at top right, #5f413114 0%, #5f413100 36%), linear-gradient(180deg, #fcf9f4 0%, var(--color-bg) 100%);line-height:1.6}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-heading-text)}a{color:inherit;text-decoration:none}.site-wrapper{flex-direction:column;min-height:100vh;display:flex}.container{width:min(100% - 2rem, var(--container-width));margin-inline:auto}.site-header{border-bottom:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;position:sticky;top:0}.nav-row{justify-content:space-between;align-items:center;min-height:4.25rem;display:flex}.brand{font-family:var(--font-heading);color:var(--color-heading-text);letter-spacing:.02em;font-weight:700}.brand-logo{width:auto;height:3.25rem;display:block}.site-nav{align-items:center;display:flex}.mobile-menu,.mobile-menu-button{display:none}.nav-list{align-items:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{border-radius:999px;padding:.5rem .75rem}.nav-list a:hover{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface))}.content{flex:1;padding-block:2.5rem 4rem}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface);padding:1.25rem 0}.page-shell{gap:2rem;display:grid}.home-section{gap:1rem;display:grid}.hero{isolation:isolate;gap:1.5rem;display:grid;position:relative;overflow:hidden}.hero-has-side-media{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}.hero-media{aspect-ratio:4/5;border-radius:calc(var(--radius) + 6px);height:auto;min-height:clamp(280px,38vw,460px);max-height:460px;box-shadow:var(--shadow-soft);margin:0;overflow:hidden}.hero-content{z-index:1;gap:.5rem;display:grid;position:relative}.hero-content h1{margin-top:0}.hero-image,.about-image,.gallery-media-image,.gallery-modal-image,.gallery-thumb-image{object-fit:cover;width:100%;height:auto;display:block}.hero-image,.about-image{border-radius:inherit;box-shadow:none}.hero-image{object-position:center;height:100%}.hero-media-background:before{content:"";background-image:var(--hero-bg-image);opacity:.38;z-index:-2;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.03)}.hero-media-background:after{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 22%, transparent) 0%, color-mix(in srgb, var(--color-surface) 80%, transparent) 100%);z-index:-1;position:absolute;inset:0}.hero-align-left .hero-content,.hero-align-left .hero-actions{text-align:left;justify-content:flex-start}.hero-align-left .hero-content{justify-items:start}.hero-align-center .hero-content,.hero-align-center .hero-actions{text-align:center;justify-content:center}.hero-align-center .hero-content{justify-items:center}.hero-align-center .hero-content h1,.hero-align-center .hero-content .hero-copy,.hero-align-center .hero-content .eyebrow{justify-self:center}.hero-align-right .hero-content,.hero-align-right .hero-actions{text-align:right;justify-content:flex-end}.hero-align-right .hero-content{justify-items:end;padding-right:clamp(.5rem,2vw,1.5rem)}.hero-align-right .hero-actions{padding-right:clamp(.5rem,2vw,1.5rem)}.section-panel,.cta-panel{border:1px solid var(--color-border);border-radius:var(--radius);background:color-mix(in srgb, var(--color-surface) 96%, transparent);box-shadow:var(--shadow-soft);padding:1.25rem}.section-header{gap:.45rem;display:grid}.section-title{font-family:var(--font-heading);color:var(--color-heading-text);font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.15}.section-actions{flex-wrap:wrap;gap:.75rem;display:flex}.eyebrow{color:var(--color-heading-text);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}h1{font-family:var(--font-heading);color:var(--color-heading-text);margin-top:.4rem;font-size:clamp(1.9rem,4vw,3rem);line-height:1.2}.hero-copy,.section-copy{max-width:65ch;color:var(--color-body-text);margin-top:.85rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.4rem;display:flex}.btn{cursor:pointer;font-weight:600;font-family:var(--font-button);color:var(--color-heading-text);border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.65rem 1.1rem;display:inline-flex}.btn-primary{background:color-mix(in srgb, var(--color-surface) 82%, var(--color-heading-text));border-color:var(--color-heading-text);color:var(--color-heading-text)}.btn-primary:hover{filter:brightness(.95)}.btn-secondary{color:var(--color-heading-text);border-color:var(--color-border);background:0 0}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.card,.gallery-card,.contact-form{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft)}.card{gap:.75rem;padding:1.15rem;display:grid}.card p{color:var(--color-body-text)}.card-eyebrow{color:var(--color-heading-text);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:700}.card-link{border-bottom:1px solid;width:fit-content;font-weight:600}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.gallery-card{display:grid;overflow:hidden}.placeholder-media{aspect-ratio:16/10;border-bottom:1px solid var(--color-border);background:#fff}.gallery-media-button{cursor:pointer;text-align:left;background:0 0;border:0;padding:0}.gallery-media-frame{aspect-ratio:1;border-bottom:1px solid var(--color-border);background:#fff;overflow:hidden}.gallery-hint{color:var(--color-muted);font-size:.9rem}.gallery-meta{padding:1rem}.chip{border:1px solid var(--color-border);color:var(--color-body-text);border-radius:999px;padding:.18rem .58rem;font-size:.78rem;display:inline-block}.gallery-meta h2{font-family:var(--font-heading);color:var(--color-heading-text);margin-top:.6rem;font-size:1.1rem}.gallery-meta p:last-child{color:var(--color-body-text);margin-top:.45rem}.gallery-modal-backdrop{z-index:50;background:#261811b8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.gallery-modal{background:var(--color-surface);border-radius:calc(var(--radius) + 8px);border:1px solid var(--color-border);grid-template-rows:auto minmax(0,1fr) auto;gap:.8rem;width:min(100%,980px);min-height:min(90vh,860px);max-height:calc(100vh - 2rem);padding:1rem;display:grid;overflow:hidden;box-shadow:0 24px 70px #0000004d}.gallery-modal-close{border:1px solid var(--color-border);font:inherit;cursor:pointer;background:0 0;border-radius:999px;justify-self:end;padding:.55rem .85rem}.gallery-modal-main{grid-template-rows:minmax(0,1fr) auto;gap:.75rem;min-height:0;display:grid}.gallery-modal-figure{align-content:center;gap:.5rem;min-height:0;margin:0;display:grid}.gallery-modal-image{border-radius:calc(var(--radius) + 4px);box-shadow:var(--shadow-soft);object-fit:contain;background:#fff;width:100%;max-height:min(62vh,620px)}.gallery-modal-caption{color:var(--color-muted);font-size:.95rem}.gallery-modal-copy{gap:.45rem;display:grid}.gallery-thumb-strip{grid-auto-columns:minmax(100px,150px);grid-auto-flow:column;gap:.75rem;padding-bottom:.3rem;display:grid;overflow-x:auto}.gallery-thumb-button{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:18px;padding:0;overflow:hidden}.gallery-thumb-button.is-active{border-color:var(--color-primary)}.gallery-thumb-image{aspect-ratio:1}.about-page{padding-bottom:1rem}.about-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:1.5rem;display:grid}.about-figure{gap:.65rem;margin:0;display:grid}.about-caption{color:var(--color-muted);font-size:.95rem}@media (min-width:920px){.gallery-modal-main{grid-template-rows:1fr;grid-template-columns:minmax(0,1fr) minmax(230px,290px);align-items:center;gap:1rem}}.section-panel h1,.about-copy h1{max-width:14ch}.contact-section{max-width:720px}.contact-form{gap:.72rem;padding:1.15rem;display:grid}.contact-form label{font-weight:600}.contact-form input,.contact-form textarea{border:1px solid var(--color-border);width:100%;font:inherit;background:var(--color-surface);border-radius:10px;padding:.7rem .8rem}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid color-mix(in srgb, var(--color-primary) 40%, transparent);outline-offset:1px}.form-status{border-radius:10px;padding:.6rem .75rem;font-weight:500}.form-error{color:#7f1d1d;background:#fee2e2}.form-success{color:#14532d;background:#dcfce7}@media (max-width:900px){.card-grid,.gallery-grid,.hero-has-side-media,.about-layout{grid-template-columns:1fr}.nav-row{flex-direction:row;align-items:center;gap:.75rem;min-height:3.75rem;padding-block:.85rem;position:relative}.mobile-menu-button{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.26rem;width:2.5rem;height:2.5rem;margin-left:auto;list-style:none;display:inline-flex}.mobile-menu-button::-webkit-details-marker{display:none}.mobile-menu-button span{background:var(--color-heading-text);border-radius:999px;width:1.1rem;height:2px;transition:transform .2s,opacity .2s;display:block}.mobile-menu[open] .mobile-menu-button span:first-child{transform:translateY(.38rem)rotate(45deg)}.mobile-menu[open] .mobile-menu-button span:nth-child(2){opacity:0}.mobile-menu[open] .mobile-menu-button span:nth-child(3){transform:translateY(-.38rem)rotate(-45deg)}.desktop-nav{display:none}.mobile-menu{margin-left:auto;display:block;position:relative}.mobile-nav{background:color-mix(in srgb, var(--color-surface) 96%, white);border:1px solid var(--color-border);width:min(18rem,100vw - 2rem);box-shadow:var(--shadow-soft);z-index:25;border-radius:16px;padding:.6rem;display:none;position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%)}.mobile-menu[open] .mobile-nav{display:block}.mobile-nav .nav-list{flex-direction:column;align-items:stretch;gap:.2rem;width:100%}.mobile-nav .nav-list a{text-align:left;border-radius:10px;padding:.6rem .75rem;display:block}.brand-logo{height:2.5rem}.hero-align-left .hero-content,.hero-align-center .hero-content,.hero-align-right .hero-content,.hero-align-left .hero-actions,.hero-align-center .hero-actions,.hero-align-right .hero-actions{text-align:left;justify-content:flex-start}.gallery-modal{min-height:auto}.gallery-modal-image{max-height:56vh}}@media (min-width:901px){.site-nav{display:flex}}.faq-page{max-width:720px;margin:0 auto}.faq-section{gap:1.5rem;display:grid}.faq-heading{font-family:var(--font-heading);color:var(--color-heading-text);margin-bottom:.5rem;font-size:clamp(1.9rem,4vw,3rem);line-height:1.2}.faq-container{gap:.75rem;display:grid}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-soft);padding:1rem}.faq-item[open]{background:color-mix(in srgb, var(--color-surface) 98%, var(--color-primary))}.faq-question{cursor:pointer;color:var(--color-heading-text);-webkit-user-select:none;user-select:none;border-bottom:2px solid #0000;padding:.5rem 0;font-size:1.1rem;font-weight:600;transition:border-color .2s;display:block}.faq-item[open] .faq-question{border-bottom-color:var(--color-primary)}.faq-question:hover{color:var(--color-primary)}.faq-answer{border-top:1px solid var(--color-border);color:var(--color-body-text);margin-top:1rem;padding-top:1rem;line-height:1.7}
