@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&family=Marcellus&display=swap');

:root{--mist:#f6f3ee;--ivory:#fcfaf6;--latte:#d9cbbb;--coffee:#a88f78;--champagne:#c4a36a;--gold-deep:#9d7841;--brown:#302922;--brown-soft:#665b51;--smoke:#d8d4cd;--line:rgba(48,41,34,.18);--white:#fff;--serif:"Marcellus",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--mist);color:var(--brown);font-family:var(--sans);font-size:15px;line-height:1.65;font-weight:300}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%}.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;padding:.7rem 1rem;background:var(--brown);color:#fff}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--gold-deep);outline-offset:4px}
.site-header{height:76px;position:fixed;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(1.2rem,4vw,4.5rem);border-bottom:1px solid transparent;transition:.35s var(--ease)}.site-header.scrolled{height:64px;background:rgba(246,243,238,.94);backdrop-filter:blur(14px);border-color:var(--line)}.brand{display:inline-flex;align-items:center;gap:.7rem;width:max-content;font-family:var(--serif);font-size:1.18rem;letter-spacing:.015em}.brand-mark{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--champagne);border-radius:50%;color:var(--gold-deep);font-size:.72rem}.desktop-nav{display:flex;gap:2.35rem;font-size:.76rem}.desktop-nav a{position:relative}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--champagne);transition:right .25s}.desktop-nav a:hover:after{right:0}.header-actions{justify-self:end;display:flex;align-items:center;gap:1.15rem}.mobile-menu{display:none;background:none;border:0;padding:.5rem;font-size:.7rem}.mobile-menu span{display:block;width:19px;height:1px;background:currentColor;margin:5px 0}.mobile-menu b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.lang-switch{display:flex;gap:.35rem;background:none;border:0;padding:.5rem;font-size:.72rem}.slash{opacity:.35}.header-cta{border:1px solid var(--brown);padding:.58rem 1rem;font-size:.72rem;transition:.25s}.header-cta:hover{background:var(--brown);color:var(--mist)}
.kicker{margin:0 0 2rem;text-transform:uppercase;letter-spacing:.14em;font-size:.64rem;font-weight:600;color:var(--gold-deep)}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.025em;text-wrap:balance}.hero{min-height:100svh;display:grid;grid-template-columns:47% 53%;padding-top:76px}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:7rem clamp(1.3rem,6.7vw,7rem)}.hero h1{max-width:9ch;margin:0;font-size:clamp(3.7rem,6.1vw,6.9rem);line-height:1.01}.hero h1 em{color:var(--gold-deep);font-weight:400}.hero-text{max-width:54ch;margin:2rem 0 0;color:var(--brown-soft)}.hero-actions{display:flex;align-items:center;gap:1.8rem;margin-top:2.4rem}.button{border:0;padding:1rem 1.35rem;font-size:.78rem}.button-dark{background:var(--brown);color:var(--ivory);transition:background .25s,transform .25s}.button-dark:hover{background:#51483f;transform:translateY(-2px)}.button-gold{background:var(--champagne);color:#241f1a;transition:background .25s,transform .25s}.button-gold:hover{background:#d2b57f;transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:.5rem;border-bottom:1px solid var(--line);padding-bottom:.25rem;font-size:.76rem}.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.occasion-line{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin-top:4rem;color:var(--brown-soft);font-size:.63rem}.occasion-line i{width:3px;height:3px;border-radius:50%;background:var(--champagne)}.hero-stage{position:relative;overflow:hidden;margin:0;background:var(--latte)}.hero-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.01);transition:transform 1.4s var(--ease)}.hero-stage:hover>img{transform:scale(1.04)}.hero-image-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,24,17,.05) 35%,rgba(32,24,17,.48));pointer-events:none}.scene-spec{position:absolute;right:4%;bottom:4%;display:flex;flex-direction:column;min-width:210px;padding:1.3rem 1.4rem;background:rgba(246,243,238,.9);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.8)}.scene-spec span,.scene-spec small{font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}.scene-spec strong{margin:.3rem 0;font-family:var(--serif);font-size:1.2rem;font-weight:400}.scene-spec small{color:var(--brown-soft)}
.statement{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:clamp(5rem,8vw,8rem) clamp(1.3rem,7vw,7.5rem);background:var(--brown);color:var(--mist)}.statement p{max-width:20ch;margin:0;font-family:var(--serif);font-size:clamp(2.2rem,4.7vw,5.4rem);line-height:1.08}.statement span{padding-bottom:.7rem;color:#d6c5ad;font-size:.64rem;text-transform:uppercase;letter-spacing:.12em}
.services,.materials,.process{padding:clamp(6rem,10vw,10rem) clamp(1.3rem,7vw,7.5rem)}.services{background:var(--ivory)}.section-head{display:grid;grid-template-columns:1.1fr .65fr;align-items:end;gap:8vw}.section-head h2,.materials h2,.occasions h2,.process h2,.contact h2{margin:0;font-size:clamp(3rem,5.1vw,5.8rem);line-height:1.04}.section-head>p{max-width:48ch;margin:0 0 .5rem;color:var(--brown-soft)}.service-list{margin-top:5.5rem;border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:70px 1fr auto;gap:2rem;align-items:center;padding:2rem .2rem;border-bottom:1px solid var(--line)}.service-list article>span,.service-list article>b{font-size:.6rem;letter-spacing:.1em}.service-list article>b{font-weight:500;color:var(--gold-deep)}.service-list h3{margin:0;font-size:clamp(1.55rem,2.7vw,2.7rem)}.service-list p{max-width:65ch;margin:.4rem 0 0;color:var(--brown-soft);font-size:.75rem}
.scenes{padding:clamp(6rem,10vw,10rem) clamp(1.3rem,5vw,5rem);background:var(--brown);color:var(--mist)}.section-head.light .kicker{color:#d7b980}.section-head.light>p{color:#c9c1b8}.scene-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;align-items:start;gap:1px;margin-top:5.5rem;background:rgba(255,255,255,.18)}.scene-card{background:var(--brown)}.scene-card figure{position:relative;margin:0;aspect-ratio:4/4.7;overflow:hidden;background:#77695d}.scene-card.scene-large figure{aspect-ratio:4/5.35}.scene-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .9s var(--ease),filter .9s var(--ease)}.scene-card:hover img{transform:scale(1.04);filter:saturate(.9)}.scene-card>div{padding:1.5rem .2rem 2.5rem}.scene-card span{color:#cbb692;font-size:.58rem;text-transform:uppercase;letter-spacing:.1em}.scene-card h3{margin:.35rem 0;font-size:1.7rem}.scene-card p{max-width:42ch;margin:0;color:#beb5ab;font-size:.72rem}
.materials{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;background:#dfd3c4}.materials-intro{align-self:center}.materials-intro>p:not(.kicker){max-width:45ch;color:var(--brown-soft)}.materials-intro .text-link{margin-top:1.4rem}.material-board{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(48,41,34,.2);box-shadow:0 32px 60px rgba(48,41,34,.09)}.material{min-height:235px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:1.5rem;background:var(--mist);border:0;text-align:left;transition:background .3s}.material:hover,.material.active{background:var(--ivory)}.material.active{box-shadow:inset 0 -3px var(--champagne)}.material-orb{display:block;width:92px;height:92px;margin:auto;border-radius:50%}.orb-latte{background:#c6ab8e;box-shadow:inset 16px 12px 24px rgba(255,255,255,.3),inset -14px -10px 24px rgba(63,48,34,.12)}.orb-floral{border-radius:48% 52% 45% 55%;background:radial-gradient(circle at 36% 35%,#f3ece2 0 13%,#ad8f77 14% 26%,#725c49 27% 31%,#d2bd9e 32% 48%,#8b7762 49% 61%,#e5d6c0 62%)}.orb-iron{border:1px solid #6d6257;background:transparent;box-shadow:inset 0 0 0 13px var(--mist),inset 0 0 0 14px #968a7f}.orb-drape{border-radius:45% 55% 48% 52%;background:linear-gradient(100deg,#f5eee5 0 18%,#cbb9a5 19% 25%,#eee5da 26% 43%,#bca792 44% 50%,#f6eee5 51% 72%,#cfbfac 73% 79%,#efe5d9 80%)}.material span{font-family:var(--serif);font-size:1.25rem}.material small{color:var(--brown-soft);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.material-note{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.2fr 2fr;align-items:center;gap:1.5rem;padding:1.4rem 1.5rem;background:#c7b59f}.material-note span{font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}.material-note strong{font-family:var(--serif);font-size:1.2rem;font-weight:400}.material-note p{margin:0;color:#50483f;font-size:.7rem}
.occasions{display:grid;grid-template-columns:1fr 1fr;min-height:850px;background:var(--ivory)}.occasion-image{position:relative;overflow:hidden}.occasion-image img{width:100%;height:100%;object-fit:cover}.occasion-menu{align-self:center;padding:6rem clamp(1.3rem,7vw,7rem)}.occasion-links{margin-top:4rem;border-top:1px solid var(--line)}.occasion-links a{display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:1rem;padding:1.35rem 0;border-bottom:1px solid var(--line);transition:transform .3s var(--ease),color .3s}.occasion-links a:hover{transform:translateX(.7rem);color:var(--gold-deep)}.occasion-links span{font-size:.58rem}.occasion-links strong{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.75rem);font-weight:400}.occasion-links b{font-weight:400}
.process{background:var(--mist)}.process header{display:flex;justify-content:space-between;align-items:flex-end;gap:3rem}.process ol{list-style:none;margin:5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process li{min-height:240px;padding:1.5rem 1.6rem 1.5rem 0;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid var(--line)}.process li+li{padding-left:1.6rem}.process li:last-child{border-right:0}.process li>span{font-size:.6rem;color:var(--gold-deep)}.process strong{display:block;font-family:var(--serif);font-size:1.2rem;font-weight:400}.process li p{max-width:27ch;color:var(--brown-soft);font-size:.7rem}
.contact{display:grid;grid-template-columns:.7fr 1.3fr;gap:9vw;padding:clamp(6rem,10vw,10rem) clamp(1.3rem,7vw,7.5rem);background:#bda98f}.contact-copy>p:not(.kicker){max-width:42ch;color:#4f463e}.contact form{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem 1.5rem;align-content:end}.contact label{display:flex;flex-direction:column;gap:.5rem;font-size:.64rem}.contact .wide{grid-column:1/-1}.contact input,.contact select,.contact textarea{width:100%;border:0;border-bottom:1px solid rgba(48,41,34,.45);background:transparent;padding:.65rem .1rem;border-radius:0;resize:vertical}.contact fieldset{margin:0;padding:0;border:0}.contact legend{margin-bottom:.8rem;font-size:.64rem}.check-grid{display:flex;flex-wrap:wrap;gap:.7rem}.check-grid label{display:flex;flex-direction:row;align-items:center;gap:.45rem;padding:.45rem .65rem;border:1px solid rgba(48,41,34,.3)}.check-grid input{width:auto}.contact .button{justify-self:start}.contact button:disabled{opacity:.55;cursor:not-allowed}.form-status{margin:0;align-self:center;font-size:.72rem}footer{display:grid;grid-template-columns:1fr auto auto;gap:2rem;align-items:center;padding:2.3rem clamp(1.3rem,4vw,4.5rem);background:var(--brown);color:#e8e1d7;font-size:.62rem}.footer-brand{font-size:1rem}
.reveal-ready [data-reveal]{opacity:0;transform:translateY(18px);filter:blur(3px);transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease)}.reveal-ready [data-reveal].visible{opacity:1;transform:none;filter:none}
@media(max-width:960px){.site-header{grid-template-columns:1fr auto}.mobile-menu{display:block}.desktop-nav{position:fixed;inset:64px 0 auto;display:flex;flex-direction:column;gap:0;padding:1rem 1.3rem 1.4rem;background:rgba(246,243,238,.98);border-bottom:1px solid var(--line);transform:translateY(-130%);visibility:hidden;transition:transform .35s var(--ease),visibility 0s linear .35s}.desktop-nav.open{transform:none;visibility:visible;transition-delay:0s}.desktop-nav a{padding:.8rem 0;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{min-height:78svh;padding-top:8rem}.hero-stage{min-height:75svh}.section-head,.materials,.contact{grid-template-columns:1fr}.section-head>p,.materials-intro,.contact form{margin-top:2.5rem}.scene-grid{grid-template-columns:1fr 1fr}.scene-large{grid-row:span 2}.material-board{max-width:760px}.occasions{min-height:auto}.process ol{grid-template-columns:1fr 1fr}.contact form{margin-top:4rem}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:620px){body{font-size:14px}.site-header{height:66px;padding:0 1rem}.header-cta{display:none}.hero{padding-top:66px}.hero-copy{min-height:76svh;padding:7rem 1.2rem 4rem}.hero h1{font-size:3.65rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:1.2rem}.occasion-line{margin-top:2.8rem}.hero-stage{min-height:68svh}.scene-spec{right:1rem;bottom:1rem;left:1rem}.statement{align-items:flex-start;flex-direction:column}.services,.scenes,.materials,.process,.contact{padding-left:1.2rem;padding-right:1.2rem}.section-head h2,.materials h2,.occasions h2,.process h2,.contact h2{font-size:3rem}.service-list article{grid-template-columns:36px 1fr;gap:1rem}.service-list article>b{grid-column:2}.scene-grid{display:block;background:none}.scene-card{margin-bottom:2rem}.scene-card figure,.scene-card.scene-large figure{aspect-ratio:4/4.8}.material-board{grid-template-columns:1fr}.material{min-height:210px}.material-note{grid-column:auto;grid-template-columns:1fr}.occasions{grid-template-columns:1fr}.occasion-image{height:60svh}.occasion-menu{padding:5rem 1.2rem}.process header{align-items:flex-start;flex-direction:column}.process ol{grid-template-columns:1fr}.process li,.process li+li{min-height:150px;padding:1.4rem 0;border-right:0}.contact form{grid-template-columns:1fr}.contact .wide{grid-column:auto}.check-grid{display:grid;grid-template-columns:1fr 1fr}.contact .button{width:100%}footer{grid-template-columns:1fr;gap:.8rem}.footer-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.hero-stage>img,.scene-card img{transition:none}.reveal-ready [data-reveal]{opacity:1;transform:none;filter:none;transition:none}}
