.cgnav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px var(--pad);position:sticky;top:0;z-index:50;background:#f5f2eeed;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.cgnav-logo{display:flex;align-items:center;gap:11px;color:#1c1815;flex:0 0 auto}.cgnav-logo img{height:40px;width:auto;display:block}.cgnav-logo .wm{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;font-size:1.05rem;letter-spacing:.34em;text-transform:uppercase;padding-inline-start:.34em}.cgnav-links{display:flex;align-items:center;gap:clamp(16px,2.4vw,32px)}.cgnav-links a{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#1c1815;transition:color .3s;white-space:nowrap}.cgnav-links a.sub{color:#847a70}.cgnav-links a.on,.cgnav-links a:hover{color:#9e6f66}.cgnav-div{width:1px;height:16px;background:var(--line);flex:0 0 auto}.cgnav-bagm{display:none}.cgnav-toggle{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:0;cursor:pointer;margin-block:-6px;margin-inline:0 -10px;flex:0 0 auto}.cgnav-toggle span{width:22px;height:1.4px;background:#1c1815;display:block;transition:transform .3s,opacity .3s}.cgnav-toggle.open span:nth-child(1){transform:translateY(6.4px) rotate(45deg)}.cgnav-toggle.open span:nth-child(2){opacity:0}.cgnav-toggle.open span:nth-child(3){transform:translateY(-6.4px) rotate(-45deg)}@media(max-width:860px){.cgnav-toggle{display:flex}.cgnav-bagm{display:flex;align-items:center;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:#1c1815;text-decoration:none;white-space:nowrap;padding:6px 2px}.cgnav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#f5f2ee;border-bottom:1px solid var(--line-soft);box-shadow:0 22px 46px -26px #1c181573;max-height:0;overflow:hidden;transition:max-height .42s ease}.cgnav-links.open{max-height:82vh}.cgnav-links a{padding:16px var(--pad);border-top:1px solid var(--line-soft);font-size:.82rem}.cgnav-div{display:none}}:root{--color-background:#F5F2EE;--color-surface:#ECE7E0;--color-text:#1C1815;--color-text-soft:#847A70;--color-accent:#9E6F66;--color-border:#D2CFCB;--color-button:#1C1815;--color-button-text:#F5F2EE;--color-editorial:#41202A;--line:rgba(28,24,21,.16);--line-soft:rgba(28,24,21,.09);--display:"Bodoni Moda",Georgia,serif;--sans:"Jost",system-ui,sans-serif;--pad:clamp(18px,5vw,72px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{overflow-x:hidden;width:100%}body{background:var(--color-background);color:var(--color-text);font-family:var(--sans);font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.eyebrow{font-weight:400;font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--color-accent)}.ph{position:relative;overflow:hidden;background:var(--color-surface)}.ph:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff6b,#fff0 42%),linear-gradient(312deg,#0000001f,#0000 46%);z-index:1;pointer-events:none}.ph-ivory{background:linear-gradient(150deg,#f3efe9,#e2d8c9)}.ph-blush{background:linear-gradient(150deg,#f0dbd6,#d6afa8)}.ph-champ{background:linear-gradient(150deg,#ede2cd,#d3be99)}.ph-rose{background:linear-gradient(150deg,#c9a8a0,#9e6f66)}.ph-sage{background:linear-gradient(150deg,#cfd4c5,#9ca891)}.ph-mauve{background:linear-gradient(150deg,#cfbcc5,#9c8492)}.tape{height:12px;width:100%;background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 5.6px);background-size:100% 12px,100% 7px;background-repeat:repeat-x;border-bottom:1px solid var(--line);opacity:.85}.announce{text-align:center;font-size:.56rem;letter-spacing:.26em;text-transform:uppercase;color:var(--color-text-soft);padding:10px var(--pad);background:var(--color-surface)}nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:14px var(--pad);position:sticky;top:0;z-index:50;background:#f5f2eeed;backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}.nav-links{display:none;gap:28px;align-items:center}.nav-links.left{grid-column:1}.nav-links.right{grid-column:3;justify-content:flex-end}.nav-links a{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}.nav-links a:hover,.nav-links a.active{color:var(--color-accent)}.wordmark{grid-column:2;display:inline-flex;align-items:center;justify-content:center}.logo-nav{height:30px;width:auto}.burger{grid-column:3;justify-self:end;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;background:none;border:0;cursor:pointer}.burger span{width:22px;height:1px;background:var(--color-text);display:block}.mobile-menu{display:none;border-bottom:1px solid var(--line-soft);background:var(--color-background)}.mobile-menu.open{display:block}.mobile-menu a{display:flex;align-items:center;min-height:50px;padding:13px var(--pad);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--line-soft)}.hero{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:flex-end;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(120% 80% at 18% 8%,rgba(245,242,238,.34),transparent 52%),radial-gradient(110% 95% at 86% 92%,rgba(65,32,42,.5),transparent 56%),linear-gradient(152deg,#cba9a1,#9e6f66,#6c4c47)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#1c18151a,#1c181505 30%,#1c181561 62%,#1c1815c7)}.hero-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);width:min(60vw,380px);z-index:1;opacity:.11;filter:invert(1) brightness(2);pointer-events:none}.hero-mark svg{width:100%;height:auto}.hero-inner{position:relative;z-index:2;max-width:660px;padding:0 var(--pad) clamp(72px,16vw,120px);color:#f5f2ee}.hero .eyebrow{color:#f5f2ee;opacity:.9}.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.7rem,12vw,5rem);line-height:1;margin:16px 0 18px;color:#f5f2ee}.hero p{font-family:var(--display);font-style:italic;font-size:clamp(1.08rem,3.8vw,1.45rem);line-height:1.5;color:#f5f2ee;opacity:.96;max-width:38ch;margin:0 auto 30px}.occasions{padding:clamp(50px,9vw,104px) 0 clamp(20px,4vw,40px)}.occ-head{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,44px);padding:0 var(--pad)}.occ-head h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,5vw,2.4rem);letter-spacing:-.01em;margin:12px 0}.occ-head p{color:var(--color-text-soft);font-size:1rem;line-height:1.6}.occ-scroll{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px var(--pad) 8px}.occ-scroll::-webkit-scrollbar{display:none}.occ-swipe{text-align:center;font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--color-accent);margin:0 0 14px;animation:occNudge 2.6s ease-in-out infinite}@keyframes occNudge{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.occasions{position:relative}.occ-fade{position:absolute;top:0;inset-inline-end:0;bottom:0;width:56px;pointer-events:none;background:linear-gradient(270deg,var(--color-background),rgba(245,242,238,0))}.occ{flex:0 0 auto;width:min(64vw,232px);scroll-snap-align:start;background:none;border:0;cursor:pointer;text-align:start;font-family:var(--sans);padding:0}.occ-img{display:block;width:100%;aspect-ratio:3/4}.occ-img-inner{position:absolute;inset:0;transition:transform 1.2s cubic-bezier(.16,.7,.18,1)}.occ:hover .occ-img-inner{transform:scale(1.05)}.occ-label{display:block;font-family:var(--display);font-size:1.18rem;margin-top:14px;color:var(--color-text)}.occ-cap{display:block;font-size:.82rem;color:var(--color-text-soft);margin-top:4px}.feature{display:grid;grid-template-columns:1fr;gap:0;align-items:stretch;margin:clamp(46px,8vw,96px) 0}.feat-img{width:100%;aspect-ratio:4/5}.feat-text{padding:clamp(40px,8vw,72px) var(--pad);display:flex;flex-direction:column;justify-content:center}.feat-text h2{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,5.5vw,2.7rem);line-height:1.1;letter-spacing:-.01em;margin:14px 0 18px}.feat-text p{color:var(--color-text-soft);font-size:clamp(1rem,2vw,1.12rem);line-height:1.7;max-width:46ch}.feat-text .taperule{width:54px;height:9px;margin-top:26px;background-image:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 9px),repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 4.5px);background-size:100% 9px,100% 5px;background-repeat:repeat-x;border-bottom:1px solid var(--line);opacity:.7}.request{max-width:680px;margin:0 auto;padding:clamp(36px,7vw,72px) var(--pad) clamp(54px,9vw,110px)}.request-head{text-align:center;margin-bottom:clamp(26px,4vw,40px)}.request-head h2{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,5.5vw,2.5rem);letter-spacing:-.01em;margin:12px 0 14px}.form-lead{font-family:var(--display);font-style:italic;color:var(--color-text-soft);font-size:1.05rem;line-height:1.5;max-width:42ch;margin:0 auto}.form-panel{background:#ece7e066;border:1px solid var(--line-soft);padding:clamp(22px,5vw,40px)}.form-grid{display:grid;grid-template-columns:1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:.56rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-soft)}.field label .opt{color:var(--color-text-soft);opacity:.7;text-transform:none;letter-spacing:.04em;font-style:italic;font-family:var(--display)}.field label .req{color:var(--color-accent);margin-inline-start:2px}.field.invalid input,.field.invalid select,.field.invalid textarea,.field.invalid .upload{border-color:#b3261e!important}.field.invalid label{color:#b3261e}.form-err{color:#b3261e;font-size:.82rem;margin:2px 0 0}.field input,.field select,.field textarea{font-family:var(--sans);font-size:.95rem;color:var(--color-text);background:var(--color-background);border:1px solid var(--line);padding:14px 15px;min-height:52px;width:100%}.field textarea{min-height:120px;resize:vertical;line-height:1.55;max-width:100%;white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;overflow-x:hidden}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-soft) 50%),linear-gradient(135deg,var(--color-text-soft) 50%,transparent 50%);background-position:calc(100% - 18px) center,calc(100% - 13px) center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-accent)}.upload{border:1px dashed var(--line);background:#f5f2ee80;padding:26px 20px;text-align:center;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;min-height:128px;justify-content:center;transition:border-color .3s,background .3s}.upload:hover{border-color:var(--color-accent)}.upload input{display:none}.upload .u-plus{font-size:1.3rem;line-height:1;color:var(--color-accent)}.upload .u-title{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text)}.upload .u-sub{font-size:.86rem;font-style:italic;font-family:var(--display);color:var(--color-text-soft)}.upload-files{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:6px}.upload-files li{font-size:.84rem;color:var(--color-text-soft);display:flex;align-items:center;gap:8px}.upload-files li:before{content:"—";color:var(--color-accent)}.submit-row{margin-top:clamp(26px,4vw,38px)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;padding:15px 30px;cursor:pointer;border:1px solid transparent;transition:background .3s,color .3s,border-color .3s,transform .3s;text-align:center}.btn.primary{background:var(--color-button);color:var(--color-button-text)}.btn.primary:hover{transform:translateY(-2px)}.btn.light{background:#f5f2ee;color:#1c1815}.btn.light:hover{transform:translateY(-2px)}.btn.block{width:100%}.success{display:none;text-align:center;max-width:560px;margin:0 auto}.success.show{display:block;animation:rise .5s ease both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.success .es-mark{height:54px;margin:0 auto 22px;opacity:.55}.success .es-mark svg{height:100%;width:auto}.success h2{font-family:var(--display);font-weight:400;font-size:clamp(1.6rem,5vw,2.3rem);margin:10px 0 16px}.success p{color:var(--color-text-soft);font-family:var(--display);font-style:italic;font-size:1.1rem;line-height:1.6}footer{background:var(--color-text);color:#cfc7bd;padding:clamp(44px,8vw,72px) var(--pad) calc(34px + env(safe-area-inset-bottom));text-align:center}.foot-logo{margin-bottom:16px}.logo-foot{height:26px;width:auto;display:inline-block}footer .tag{font-family:var(--display);font-style:italic;color:#cfc7bd;font-size:1rem}footer .meta{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:#7d756c;margin-top:13px}.mcta{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:11px var(--pad) calc(11px + env(safe-area-inset-bottom));background:#f5f2eef2;backdrop-filter:blur(8px);border-top:1px solid var(--line-soft);transform:translateY(130%);transition:transform .4s ease}.mcta.show{transform:none}.mcta .btn{width:100%}.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.reveal.in{opacity:1;transform:none}@media(min-width:600px){.occ-scroll{display:grid;grid-template-columns:repeat(3,1fr);overflow:visible;gap:clamp(16px,2.4vw,28px);padding:4px var(--pad)}.occ-swipe{display:none}.occ{width:auto}.form-grid{grid-template-columns:1fr 1fr}.field.full{grid-column:1 / -1}}@media(min-width:900px){.nav-links{display:flex}.burger,.mcta{display:none}.occ-scroll{grid-template-columns:repeat(6,1fr)}.feature{grid-template-columns:1.05fr 1fr}.feat-img{aspect-ratio:auto;min-height:560px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}[dir=rtl] .occ-fade{background:linear-gradient(90deg,var(--color-background),rgba(245,242,238,0))}@keyframes occNudgeRtl{0%,to{transform:translate(0)}50%{transform:translate(-6px)}}[dir=rtl] .occ-swipe{animation-name:occNudgeRtl}[dir=rtl] input[type=tel],[dir=rtl] input[type=email],[dir=rtl] input[type=date]{direction:ltr;text-align:end}
