:root{--sand:#FBF7F2;--cream:#F5EEE4;--ink:#1E1917;--mist:#847668;--hair:#E8DED0;--hair2:#D9CDBB;--rose:#E2A396;--rose1:#F3CFC6;--rose2:#D2897B;--rose3:#B86F61;}
html{scroll-behavior:smooth;}
body{background:var(--sand);color:var(--ink);font-family:'Inter',ui-sans-serif,system-ui;}
.font-serif,.h-display{font-family:'Fraunces',ui-serif,Georgia,serif;font-weight:300;letter-spacing:-.01em;}
.acc{font-style:italic;color:var(--rose2);}
.sec-dark .acc{color:var(--rose1);}
.text-rose-grad{background:linear-gradient(135deg,#EDB8AD 0%,#E2A396 55%,#D58F80 100%);-webkit-background-clip:text;background-clip:text;color:transparent;}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#fff;border:1px solid var(--hair2);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--rose2);}
.chip-dot{width:6px;height:6px;border-radius:50%;display:inline-block;}
.eb{display:inline-flex;align-items:center;gap:14px;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--rose2);}
.eb::before,.eb::after{content:'';width:34px;height:1px;background:var(--rose);}
.btn-rose{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;border-radius:999px;border:none;cursor:pointer;background:linear-gradient(135deg,#EDB8AD 0%,#E2A396 55%,#D58F80 100%);color:#fff;text-decoration:none;box-shadow:0 12px 30px -10px rgba(190,115,100,.55);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;font-family:inherit;}
.btn-rose:hover{transform:translateY(-2px);box-shadow:0 18px 40px -10px rgba(190,115,100,.65);}
.btn-rose-label{display:flex;flex-direction:column;align-items:center;line-height:1.15;}
.btn-rose-label b{font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;}
.btn-rose-sub{font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.9;margin-top:2px;}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;border-radius:999px;border:1px solid var(--hair2);color:var(--ink);text-decoration:none;transition:.3s;background:#fff;font-size:14px;}
.btn-outline:hover{border-color:var(--rose);color:var(--rose2);}
.rv{opacity:0;transform:translateY(24px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);}
.rv.in{opacity:1;transform:none;}
.rv-d1.in{transition-delay:.08s;}.rv-d2.in{transition-delay:.16s;}.rv-d3.in{transition-delay:.24s;}.rv-d4.in{transition-delay:.32s;}
#nav{position:fixed;top:0;left:0;right:0;z-index:80;transition:background .4s,box-shadow .4s,backdrop-filter .4s;}
#nav.nav-scrolled{background:rgba(251,247,242,.88);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--hair);}
.logo-w{display:block;}.logo-d{display:none;}
#nav.nav-scrolled .logo-w{display:none;}#nav.nav-scrolled .logo-d{display:block;}
@media(min-width:1024px){.logo-w{display:none;}.logo-d{display:block;}}
.nav-cta{opacity:0;transform:translateY(-10px);pointer-events:none;visibility:hidden;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .45s;}
#nav.nav-past-hero .nav-cta{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .45s ease,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s;}
.nav-cta.btn-rose{padding:11px 22px;}
.wa{position:fixed;bottom:32px;right:32px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 28px rgba(37,211,102,.5);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;cursor:pointer;border:none;padding:0;}
.wa:hover{transform:scale(1.12);box-shadow:0 10px 42px rgba(37,211,102,.6);}
.wa::before{content:'';position:absolute;inset:0;border-radius:50%;background:#25D366;animation:waPulse 2.6s ease-in-out infinite;z-index:-1;}
@keyframes waPulse{0%{transform:scale(1);opacity:.7;}100%{transform:scale(1.6);opacity:0;}}
@media(max-width:768px){.wa{width:52px;height:52px;bottom:18px;right:18px;}}
.wa-modal-overlay{position:fixed;inset:0;z-index:300;background:rgba(20,16,14,.5);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s ease;}
.wa-modal-overlay.is-open{opacity:1;pointer-events:auto;}
.wa-modal{background:var(--sand);border:1px solid var(--hair);border-radius:24px;padding:52px 44px 44px;max-width:540px;width:100%;max-height:calc(100svh - 40px);overflow-y:auto;text-align:center;box-shadow:0 30px 80px -20px rgba(0,0,0,.35);transform:translateY(14px) scale(.97);transition:transform .3s cubic-bezier(.2,.8,.2,1);}
.wa-modal-overlay.is-open .wa-modal{transform:none;}
.wa-modal-eyebrow{font-size:13px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--rose2);}
.wa-modal-text{margin-top:28px;font-size:17px;line-height:1.75;color:var(--ink);}
.wa-modal-text strong{font-weight:600;}
.wa-modal-text+.wa-modal-text{margin-top:22px;}
.wa-modal-actions{margin-top:28px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.wa-modal-btn{display:inline-flex;align-items:center;justify-content:center;padding:18px 30px;border-radius:8px;font-family:inherit;font-size:16px;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background .25s,color .25s,border-color .25s;}
.wa-modal-btn--ghost{background:transparent;color:var(--rose3);border:1.5px solid var(--rose3);width:100%;}
.wa-modal-btn--ghost:hover{background:var(--rose3);color:#fff;}
.wa-modal-btn--solid{background:var(--rose3);color:#fff;border:1.5px solid var(--rose3);flex:1 1 180px;}
.wa-modal-btn--solid:hover{background:var(--ink);border-color:var(--ink);}
@media(max-width:480px){.wa-modal{padding:40px 24px 28px;}.wa-modal-text{font-size:16px;}.wa-modal-btn{width:100%;flex:1 1 100%;}}
.proc-card{position:relative;overflow:hidden;border-radius:22px;aspect-ratio:4/5;background:var(--ink);}
.proc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1);}
.proc-card:hover .proc-img{transform:scale(1.06);}
.proc-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,25,23,0) 35%,rgba(30,25,23,.6) 68%,rgba(30,25,23,.92) 100%);}
.proc-body{position:absolute;left:0;right:0;bottom:0;padding:26px 24px;color:#fff;}
.proc-num{font-size:10px;letter-spacing:.28em;color:var(--rose1);text-transform:uppercase;}
.proc-desc{font-size:14px;line-height:1.55;color:rgba(255,255,255,.85);max-height:0;opacity:0;overflow:hidden;transition:max-height .5s ease,opacity .5s ease,margin .5s ease;}
.proc-card:hover .proc-desc,.proc-card:focus-within .proc-desc{max-height:120px;opacity:1;margin-top:10px;}
@media(hover:none){.proc-desc{max-height:120px;opacity:1;margin-top:10px;}}
.svc-grid{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 20px;margin-left:-20px;margin-right:-20px;scrollbar-width:none;}
.svc-grid::-webkit-scrollbar{display:none;}
.svc{flex:0 0 78%;scroll-snap-align:center;}
@media(min-width:640px) and (max-width:1023px){.svc{flex-basis:44%;}}
@media(min-width:1024px){.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 36px;overflow:visible;padding:0;margin:0;}.svc{flex:none;}.svc:nth-child(3n+2){margin-top:64px;}}
.svc-media{position:relative;overflow:hidden;border-radius:24px;aspect-ratio:4/5;background:var(--cream);box-shadow:0 24px 50px -28px rgba(30,25,23,.35);}
.svc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1);}
.svc:hover .svc-media img{transform:scale(1.05);}
.svc-n{position:absolute;top:16px;left:16px;padding:6px 13px;border-radius:999px;background:rgba(255,255,255,.92);font-size:11px;letter-spacing:.22em;color:var(--rose2);}
.svc-info{padding:24px 4px 0;}
.svc-info h3{font-size:1.65rem;line-height:1.15;color:var(--ink);}
.svc-line{width:38px;height:1px;background:var(--rose);margin:16px 0;}
.svc-info p{font-size:15px;line-height:1.65;color:var(--mist);}
.svc-link{margin-top:18px;background:none;border:none;padding:0;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--rose2);}
.svc-link:hover{color:var(--rose3);}
.step{position:relative;padding-left:56px;padding-bottom:44px;border-left:1px solid var(--hair2);}
.step:last-child{border-color:transparent;padding-bottom:0;}
.step-num{position:absolute;left:-21px;top:0;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--hair2);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;color:var(--rose2);font-size:15px;}
.marquee-strip{overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-block;animation:mqScroll 38s linear infinite;}
@keyframes mqScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.mq-dot{display:inline-block;width:6px;height:6px;background:var(--rose);transform:rotate(45deg);margin:0 30px;vertical-align:middle;}
.frame-gold{position:absolute;inset:0;border:1px solid var(--rose);border-radius:28px;transform:translate(16px,16px);}
.info-row{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--hair);font-size:14.5px;}
.info-k{flex:0 0 92px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--rose2);padding-top:3px;}
.faq-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;font-family:'Fraunces',serif;font-size:1.08rem;color:var(--ink);background:none;border:none;cursor:pointer;text-align:left;}
.faq-chevron{flex-shrink:0;color:var(--rose2);transition:transform .3s ease;}
.faq-trigger[aria-expanded="true"] .faq-chevron{transform:rotate(180deg);}
.faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.2,.8,.2,1);}
.faq-panel.is-open{grid-template-rows:1fr;}
.faq-panel-inner{overflow:hidden;}
.faq-word{display:inline-block;white-space:nowrap;}
.faq-answer-char{display:inline-block;opacity:0;filter:blur(8px);transition:opacity .3s ease,filter .3s ease;}
.faq-answer-char.in{opacity:1;filter:blur(0);}
.sec-dark{background:#2A211D;color:#F5EEE4;}
.sec-dark [style*="color:var(--mist)"]{color:rgba(245,238,228,.7)!important;}
.sec-dark .eb{color:var(--rose1);}
.sec-dark .info-row{border-color:rgba(232,199,180,.2);}
.sec-dark .btn-outline{background:transparent;color:#F5EEE4;border-color:rgba(232,199,180,.4);}
.sec-dark .btn-outline:hover{border-color:var(--rose1);color:var(--rose1);}
