:root{--rose:#b89f78;--rose2:#8a7556;--brown2:#8a7556;--pink:#ede2d0;--lav:#f3eadb;--peach:#f5ede0;--cocoa:#1a1714;--ink:#2a2420;--cream:#f7f1e6;--gold:#b89f78}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"DM Sans",sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;overflow-x:hidden}
h1,h2,h3,.logo{font-family:'Playfair Display',serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.w{max-width:1180px;margin:auto;padding:0 20px}.top{background:var(--cocoa);color:#fff;text-align:center;font-size:13px;padding:7px 10px}
header.h{position:sticky;top:0;background:#fffaf6ee;backdrop-filter:blur(10px);z-index:50;border-bottom:1px solid #e4d7c0}
header .w{display:flex;align-items:center;justify-content:space-between;min-height:70px}
.logo{font-size:27px;color:var(--rose);font-weight:700}.logo:after{content:'✦';color:var(--gold);font-size:14px;margin-left:5px}
nav a{margin-left:20px;font-weight:500;position:relative;font-size:15px}nav a:after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:2px;background:var(--rose);transition:.3s}nav a:hover:after{width:100%}
.nb{display:none;background:none;border:0;font-size:28px;cursor:pointer;color:var(--cocoa)}
.btn{display:inline-block;background:linear-gradient(135deg,var(--rose),var(--rose2));color:#fff;padding:12px 28px;border-radius:30px;border:0;cursor:pointer;font:600 15px "DM Sans";box-shadow:0 8px 20px #b89f7840;transition:.25s;position:relative;overflow:hidden}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 26px #b89f7860}.btn.o{background:none;color:var(--rose);border:2px solid var(--rose);box-shadow:none}.btn.o:hover{background:var(--rose);color:#fff}
.sl{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--pink),var(--lav) 55%,var(--peach))}
.sl:before{content:'';position:absolute;inset:-100px;background-image:radial-gradient(circle,#b89f7840 3px,transparent 4px),radial-gradient(circle,#c9a35b55 2.5px,transparent 3.5px),radial-gradient(circle,#8a755655 3px,transparent 4px);background-size:90px 90px,130px 130px,170px 170px;background-position:0 0,40px 60px,80px 20px;animation:drift 40s linear infinite}
.sld{display:none;position:relative}.sld.on{display:block}.sld .w{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;min-height:580px;padding-top:40px;padding-bottom:40px}
.sld.on .tx>*{animation:up .8s both}.sld.on .tx>*:nth-child(2){animation-delay:.15s}.sld.on .tx>*:nth-child(3){animation-delay:.3s}
.sld h1{font-size:clamp(36px,5.2vw,64px);line-height:1.08;margin:8px 0 16px}.sld .k{font:600 13px "DM Sans";letter-spacing:3px;text-transform:uppercase;color:var(--rose)}
.arch{border-radius:300px 300px 30px 30px;overflow:hidden;border:9px solid #fff;box-shadow:0 30px 60px #b89f7845;max-width:430px;margin-left:auto}.arch img{width:100%;aspect-ratio:4/5;object-fit:cover}.sld.on .arch img{animation:kb 8s ease-out both}
.sl .pv,.sl .nx{position:absolute;top:50%;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:#fffc;font-size:20px;cursor:pointer;box-shadow:0 4px 14px #0002}.pv{left:14px}.nx{right:14px}
.dots{position:absolute;bottom:16px;left:0;right:0;text-align:center;z-index:3}.dots button{width:11px;height:11px;border-radius:50%;border:0;background:#fff;margin:0 5px;cursor:pointer;opacity:.7}.dots .on{background:var(--rose);width:30px;border-radius:8px;opacity:1}
.mq{background:var(--cocoa);color:#ede2d0;overflow:hidden;white-space:nowrap;font:600 20px 'Playfair Display'}.mq div{display:inline-block;padding:14px 0;animation:mq 28s linear infinite}.mq span{margin:0 26px;color:var(--gold)}
section{padding:70px 0}h2.t{text-align:center;font-size:clamp(28px,4vw,40px);margin:0 0 12px}.sub{text-align:center;margin:0 auto 36px;opacity:.75;max-width:600px}
h2.t:after{content:'';display:block;width:60px;height:3px;background:linear-gradient(90deg,var(--rose),var(--gold));margin:12px auto 0;border-radius:3px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:26px}
.card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 8px 28px #1a171412;transition:.35s;display:block;position:relative}.card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #b89f7830}
.card .im{overflow:hidden}.card img{aspect-ratio:1;object-fit:cover;width:100%;transition:.6s}.card:hover img{transform:scale(1.08)}.ci{padding:16px 18px}.ci h3{margin:0 0 4px;font-size:18px}.pr{color:var(--rose);font-weight:600}
.cat{position:relative;border-radius:24px;overflow:hidden;display:block}.cat img{aspect-ratio:1;object-fit:cover;width:100%;transition:.6s}.cat:hover img{transform:scale(1.1)}.cat b{position:absolute;inset:auto 0 0;padding:40px 16px 16px;background:linear-gradient(transparent,#1a1714d0);color:#fff;font:600 24px 'Playfair Display'}
.band{background:linear-gradient(180deg,var(--pink),var(--lav));border-radius:60px 60px 0 0}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.box{background:#fff;border-radius:22px;padding:30px 24px;text-align:center;box-shadow:0 8px 28px #1a171410;transition:.3s;display:block}.box:hover{transform:translateY(-6px)}.box span{font-size:44px;display:inline-block;animation:bob 3s ease-in-out infinite}
.cta{background:linear-gradient(135deg,var(--rose),#8a7556);color:#fff;text-align:center;border-radius:36px;padding:56px 24px}.cta h2{font-size:36px;margin:0 0 10px}.cta .btn{background:#fff;color:var(--rose2);box-shadow:none}
.pd{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start}.pd img{border-radius:28px;width:100%;box-shadow:0 20px 50px #1a171420}
input,select,textarea{width:100%;padding:12px 15px;border:1.5px solid #dccfb6;border-radius:14px;font:inherit;background:#fff;margin:4px 0 14px;transition:.2s}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--rose);box-shadow:0 0 0 4px #b89f7820}
label{font-weight:500;font-size:14px}.f{max-width:660px;margin:auto;background:#fff;padding:32px;border-radius:24px;box-shadow:0 10px 36px #1a171412}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}td,th{padding:11px 13px;border-bottom:1px solid #f1e4e7;text-align:left;font-size:14px;vertical-align:top}th{background:var(--pink)}
.tabs a{display:inline-block;margin:0 6px 10px 0;padding:8px 20px;border-radius:30px;border:1.5px solid var(--rose);transition:.2s}.tabs a.on,.tabs a:hover{background:var(--rose);color:#fff}
.err{background:#f3dcd6;color:#9b1c1c;padding:12px;border-radius:10px;margin-bottom:14px}.okm{background:#e3f6e8;color:#14532d;padding:12px;border-radius:10px;margin-bottom:14px}
details{background:#fff;border-radius:16px;padding:16px 22px;margin-bottom:12px;box-shadow:0 4px 16px #1a171410}summary{cursor:pointer;font-weight:600;list-style:none}summary:after{content:'+';float:right;color:var(--rose);font-size:22px;line-height:1}details[open] summary:after{content:'−'}
.pg{max-width:820px;margin:auto}.hd{background:linear-gradient(120deg,var(--pink),var(--lav));padding:60px 0 50px;text-align:center}.hd h1{font-size:clamp(32px,5vw,50px);margin:0}
.map{border:0;width:100%;height:340px;border-radius:24px;box-shadow:0 10px 36px #1a171418}.pc{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.meta{font-size:13px;opacity:.65}.art p{font-size:17px}
footer{background:var(--cocoa);color:#e9dfcc;padding:60px 0 14px}.fg{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:30px}.fg h3{color:var(--gold)}.fg a,.fg span{display:block;margin:5px 0;opacity:.85}.fg a:hover{opacity:1;color:var(--gold)}.cp{text-align:center;font-size:13px;opacity:.6;margin-top:30px}
.wab{position:fixed;right:18px;bottom:18px;background:#25d366;color:#fff;padding:12px 20px;border-radius:30px;font-weight:600;box-shadow:0 6px 20px #0003;z-index:60;animation:pulse 2.4s infinite}
.js .rv{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.js .rv.in{opacity:1;transform:none}
@keyframes drift{to{transform:translate(90px,130px)}}@keyframes mq{to{transform:translateX(-50%)}}@keyframes up{from{opacity:0;transform:translateY(30px)}}@keyframes kb{from{transform:scale(1.12)}}@keyframes bob{50%{transform:translateY(-8px)}}@keyframes pulse{0%{box-shadow:0 0 0 0 #25d36680}70%,100%{box-shadow:0 0 0 16px #25d36600}}
@media(max-width:860px){.sld .w,.pd,.three,.fg,.pc{grid-template-columns:1fr}.arch{margin:auto;max-width:300px}.sld .w{min-height:0}.nb{display:block}nav{display:none;width:100%;flex-direction:column;padding-bottom:12px}nav.open{display:flex}nav a{margin:8px 0}header .w{flex-wrap:wrap}.sl .pv,.sl .nx{display:none}}

/* ===== Client brand theme: cream / brown / rose, script logo ===== */
h1,h2,h3{font-weight:500;letter-spacing:-.5px}
.logo{display:flex;align-items:center;gap:11px;color:var(--cocoa);font-weight:400;letter-spacing:0}.logo:after{content:none}
.logo .li{width:44px;height:44px;border:1.5px solid var(--brown2);border-radius:50%;display:grid;place-items:center;font:400 24px 'DM Sans';color:var(--brown2)}
.logo b{display:block;font:400 clamp(34px,4vw,44px)/.85 Alex Brush,cursive;color:var(--cocoa)}.logo small{display:block;font:600 9.5px 'DM Sans';letter-spacing:5px;margin-top:5px;color:var(--ink)}
.btn{background:var(--cocoa);box-shadow:none;letter-spacing:.4px}.btn:hover{background:#3a322b;box-shadow:0 10px 22px #1a171430}
.btn.o{background:none;color:var(--cocoa);border:1.5px solid var(--cocoa)}.btn.o:hover{background:var(--cocoa);color:#fff}
.cta .btn{background:#f7f1e6;color:var(--cocoa)}
.top{letter-spacing:.5px;font-size:12px}nav a{font-size:14px;letter-spacing:.3px}nav a:after{background:var(--rose)}
.sl{background:linear-gradient(120deg,#f7f1e6,#ede2d0 60%,#f1d7cb)}
.sl:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;left:-210px;top:10%;background:repeating-radial-gradient(circle,transparent 0 24px,#cdb89577 24px 25px);pointer-events:none}
.sld .k{font:400 36px/1 Alex Brush,cursive;letter-spacing:0;text-transform:none;color:var(--rose)}
.sld h1,.sld h2{font-size:clamp(40px,5.6vw,76px);line-height:1.02;letter-spacing:-2px;color:var(--cocoa)}
.arch{border:9px solid #f7f1e6;box-shadow:0 30px 60px #1a171430}.dots .on{background:var(--cocoa)}
.mq{background:var(--cocoa);color:#ede2d0}.mq span{color:var(--rose)}
h2.t{color:var(--cocoa)}h2.t:after{background:var(--rose)}.sub{font-size:15px;color:#5a5048}
.pr{color:var(--brown2)}.card,.box,.f,details{border:1px solid #e4d7c0;box-shadow:0 8px 28px #1a17140d}.cat b{background:linear-gradient(transparent,#1a1714cc)}
.band{background:linear-gradient(180deg,#ede2d0,#f3eadb)}
.cta{background:linear-gradient(135deg,#1a1714,#8a7556)}.cta h2{color:#f7f1e6}
.tabs a{border-color:var(--brown2);color:var(--brown2)}.tabs a.on,.tabs a:hover{background:var(--cocoa);border-color:var(--cocoa);color:#fff}
input:focus,select:focus,textarea:focus{border-color:var(--brown2);box-shadow:0 0 0 3px #cdb89566}
th{background:#ede2d0}summary:after{color:var(--brown2)}.hd{background:linear-gradient(120deg,#f7f1e6,#ede2d0)}.hd h1{color:var(--cocoa)}
footer .fg h3{color:var(--rose)}.fg a:hover{color:var(--rose)}

/* ===== reference-style header, full-bleed hero, collection, our story ===== */
header .w{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:84px}
nav a{font:500 16px 'Playfair Display',serif;margin:0 22px 0 0}.cartb{justify-self:end;font-size:22px;position:relative}.cartb sup{font:600 11px 'DM Sans';background:var(--cocoa);color:#fff;border-radius:50%;padding:2px 6px;margin-left:2px}
.sl:before,.sl:after{display:none}.sl{background:var(--cocoa)}
.sld{min-height:clamp(500px,80vh,740px)}.sld .w{position:relative;z-index:2;display:flex;align-items:center;min-height:clamp(500px,80vh,740px);grid-template-columns:none}
.sld .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.sld.on .bg{animation:kb 9s ease-out both}
.sld:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#14110ee8 0%,#14110e99 45%,#14110e10 100%)}
.sld .tx{max-width:560px;color:#f7f1e6}.sld h1,.sld h2{color:#f7f1e6}.sld p{font-size:17px;opacity:.9}.sld .btn{background:#f7f1e6;color:var(--cocoa)}.sld .btn:hover{background:var(--rose)}.sld .btn.o{background:none;color:#f7f1e6;border:1.5px solid #f7f1e6}.sld .btn.o:hover{background:#f7f1e6;color:var(--cocoa)}
.dots .on{background:var(--rose)}
.colx{background:#ede2d0;text-align:center;overflow:hidden;padding-bottom:60px}.colx .scr{font:400 clamp(44px,6vw,72px)/1 Alex Brush,cursive;color:var(--cocoa);display:block}
.colx h2{font-size:clamp(34px,6.2vw,84px);letter-spacing:1px;margin:0;color:#14110e}
.stg{position:relative;height:clamp(300px,34vw,430px);margin-top:30px}
.it{position:absolute;left:50%;top:0;width:clamp(230px,30vw,380px);aspect-ratio:1;transition:all .9s cubic-bezier(.2,.8,.2,1);opacity:0;pointer-events:none;transform:translateX(-50%) scale(.4);cursor:pointer}
.it img{width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:0 30px 60px #1a171440;border:8px solid #f7f1e6}
.it.c0{transform:translateX(-50%) scale(1);opacity:1;z-index:3;pointer-events:auto;animation:bob 5s ease-in-out infinite}
.it.l1,.it.r1{opacity:.6;filter:blur(4px);z-index:1;pointer-events:auto}.it.l1{transform:translateX(-165%) scale(.6)}.it.r1{transform:translateX(65%) scale(.6)}
.inf{display:flex;align-items:center;justify-content:center;gap:26px;margin:10px 0 18px}.inf h3{margin:0;font-size:26px}.pp{color:var(--brown2);font-weight:600}
.inf button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--cocoa);background:none;font-size:22px;cursor:pointer;color:var(--cocoa)}.inf button:hover{background:var(--cocoa);color:#fff}
.sty{display:grid;grid-template-columns:1fr 1fr;max-width:1180px;margin:auto;background:#fff;border:1px solid #e4d7c0;border-radius:6px;overflow:hidden}
.sty img{width:100%;height:100%;min-height:440px;object-fit:cover}.stx{padding:50px clamp(28px,6vw,80px);align-self:center}.stx h2{font-size:clamp(38px,5vw,62px);text-transform:uppercase;margin:0 0 18px;color:var(--cocoa)}.stx p{font-size:17px;line-height:1.9;color:#5a5048}
@media(max-width:860px){header .w{grid-template-columns:44px 1fr 44px;min-height:70px}.logo{justify-self:center}nav{position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:6px 24px 14px;border-bottom:1px solid #e4d7c0}nav a{margin:9px 0}.sld:before{background:linear-gradient(0deg,#14110ee8,#14110e66)}.sld .w{align-items:flex-end;padding-bottom:50px}.sty{grid-template-columns:1fr}.sty img{min-height:280px}.it.l1{transform:translateX(-120%) scale(.55)}.it.r1{transform:translateX(20%) scale(.55)}}

/* ===== header v2: image logo, search, actions, shrink on scroll ===== */
header.h{transition:box-shadow .3s,background .3s}header.h.s{box-shadow:0 8px 28px #1a17141a}
header .w{min-height:92px;transition:min-height .3s}header.h.s .w{min-height:68px}
.logo{display:block;justify-self:center;line-height:0}.logo img{width:68px;height:68px;border-radius:50%;object-fit:cover;border:2px solid #f7f1e6;box-shadow:0 6px 18px #1a171440;transition:.3s}.logo:hover img{transform:rotate(-6deg) scale(1.05)}header.h.s .logo img{width:50px;height:50px}
nav a.on{color:var(--brown2)}nav a.on:after,nav a:hover:after{width:100%}nav a:after{height:1.5px;background:var(--brown2)}
.hr{justify-self:end;display:flex;align-items:center;gap:16px}.ib{background:none;border:0;font-size:20px;cursor:pointer;position:relative;padding:4px;line-height:1}.ib sup{position:absolute;top:-4px;right:-8px;font:600 10px 'DM Sans';background:var(--cocoa);color:#fff;border-radius:10px;padding:1px 6px}
.hr .btn{padding:9px 20px;font-size:13px}
.sbar{max-height:0;overflow:hidden;background:#f7f1e6;transition:max-height .35s;border-top:1px solid transparent}.sbar.open{max-height:90px;border-top-color:#e4d7c0}.sbar .w{display:flex!important;gap:10px;align-items:center;min-height:0!important;padding-top:14px;padding-bottom:14px}.sbar input{margin:0}
@media(max-width:860px){header .w{grid-template-columns:44px 1fr auto}.logo img{width:52px;height:52px}.hr .btn{display:none}.hr{gap:10px}nav a.on:after{width:40px}}

/* ===== text wordmark in brand script (no image logo) ===== */
.logo{display:block;text-align:center;line-height:1}.logo b{display:block;font:400 clamp(46px,5vw,60px)/.8 Alex Brush,cursive;color:var(--cocoa);-webkit-text-stroke:.5px var(--cocoa);transition:font-size .3s}
.logo small{display:block;font:500 13px/1 Quicksand,sans-serif;letter-spacing:3px;color:var(--ink);margin-top:6px;text-transform:lowercase}
.logo:hover b{color:var(--brown2);-webkit-text-stroke-color:var(--brown2)}header.h.s .logo b{font-size:40px}header.h.s .logo small{font-size:11px;margin-top:3px}
.sld .k,.colx .scr{-webkit-text-stroke:.4px currentColor}
@media(max-width:860px){.logo b{font-size:42px}}

/* logo svg badge */
.logo img{width:76px;height:76px;border:0;box-shadow:0 6px 18px #1a171433;background:#f7f1e6}header.h.s .logo img{width:54px;height:54px}@media(max-width:860px){.logo img{width:56px;height:56px}}

/* ===== palette locked to client's logo: beige #ede2d0 + near-black #171006 ===== */
:root{--cocoa:#1a1714;--ink:#2a2420;--cream:#f7f1e6;--rose:#b89f78;--brown2:#8a7556}
.logo img{background:#ede2d0;box-shadow:0 6px 18px #1a171433}
.pr,.pp{color:var(--cocoa);font-weight:600}.sld .k,.colx .scr{-webkit-text-stroke:0}.sld .k{color:#ede2d0}
.btn.o{border-color:var(--cocoa);color:var(--cocoa)}.top{background:#1a1714}.mq span{color:var(--rose)}
.logo small,.logo b{font-family:Lora,serif}

/* ===== social icons, video hero slides, reels ===== */
.so{display:inline-flex;gap:10px;align-items:center}.so a{width:36px;height:36px;border-radius:50%;border:1.5px solid currentColor;display:grid!important;place-items:center;margin:0!important;opacity:1!important;transition:.25s}
.so a:hover{background:var(--rose);border-color:var(--rose);color:#1a1714!important;transform:translateY(-3px)}.so svg{width:16px;height:16px;fill:currentColor}
.top{display:flex;justify-content:center;align-items:center;position:relative}.top .ts{position:absolute;right:20px;top:50%;transform:translateY(-50%)}.top .so a{width:26px;height:26px;border:0}.top .so svg{width:14px;height:14px}
.sld.vid .bg{filter:blur(26px) brightness(.5);transform:scale(1.25);animation:none!important}.sld.vid:before{background:linear-gradient(90deg,#14110ecc,#14110e55)}
.sld.vid .w{display:grid;grid-template-columns:1.2fr auto;gap:60px;align-items:center;justify-content:space-between}
.sld.vid video{height:clamp(420px,70vh,620px);aspect-ratio:9/16;object-fit:cover;border-radius:30px;border:6px solid #f7f1e6;box-shadow:0 30px 70px #0007;display:block;background:#14110e;margin-right:20px}
.reels{background:#ede2d0;text-align:center}.reels .scr{font:400 clamp(40px,5vw,60px)/1 'Alex Brush',cursive;color:var(--cocoa);display:block}
.rl{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 24px;margin-top:20px;justify-content:flex-start}.rl::-webkit-scrollbar{height:6px}.rl::-webkit-scrollbar-thumb{background:#b89f78;border-radius:6px}
.rc{flex:0 0 240px;aspect-ratio:9/16;margin:0;position:relative;border-radius:24px;overflow:hidden;scroll-snap-align:center;background:#14110e;box-shadow:0 14px 34px #1a171433;transition:.3s}.rc:hover{transform:translateY(-6px)}
.rc video{width:100%;height:100%;object-fit:cover;display:block}.rc figcaption{position:absolute;inset:auto 0 0;padding:40px 14px 14px;background:linear-gradient(transparent,#14110ed0);color:#f7f1e6;font:500 18px 'Playfair Display',serif;text-align:left}
.snd{position:absolute;top:10px;right:10px;border:0;background:#14110e99;color:#fff;border-radius:50%;width:36px;height:36px;cursor:pointer;font-size:16px}
.fol{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:10px;color:var(--cocoa);font-weight:500}
@media(min-width:1000px){.rl{justify-content:center}}
@media(max-width:860px){.top .ts{display:none}.sld.vid .w{grid-template-columns:1fr;gap:24px;padding:36px 20px 56px;text-align:center}.sld.vid video{height:380px;margin:0 auto}.sld.vid .tx{order:2}.sld.vid .w>video{order:1}.rc{flex-basis:200px}}
