:root{--bg:#f7f3ec;--bg-alt:#efe7da;--surface:#fff;--ink:#221c16;--ink-soft:#5b5147;--muted:#8b7f72;--line:#e4dbcd;--accent:#a9785a;--accent-dk:#8b5e43;--accent-sf:#ece2d6;--ok:#4f7b5a;--radius:16px;--radius-sm:10px;--shadow:0 18px 50px -24px #221c1647;--shadow-sm:0 8px 24px -16px #221c1659;--maxw:1180px;--ease:cubic-bezier(.22,.61,.36,1);--font-display:"Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body:"Jost", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.65;overflow-x:hidden}body:before{content:"";z-index:0;pointer-events:none;opacity:.5;background:radial-gradient(1100px 500px at 80% -10%,#a9785a1a,#0000 60%),radial-gradient(900px 500px at -10% 110%,#a9785a12,#0000 60%);position:fixed;inset:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,select,textarea{color:var(--ink);font-family:inherit;font-size:15px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}h1,h2,h3{font-family:var(--font-display);letter-spacing:.2px;font-weight:600;line-height:1.08}.section{z-index:1;padding:96px 0;position:relative}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--accent-dk);margin-bottom:16px;font-size:12.5px;font-weight:500;display:inline-block}.lead{color:var(--ink-soft);max-width:60ch;font-size:17px}.btn{letter-spacing:.04em;transition:.35s var(--ease);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px 26px;font-size:14.5px;font-weight:500;display:inline-flex}.btn svg{flex:none;width:17px;height:17px}.btn-solid{background:var(--accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-solid:hover{background:var(--accent-dk);transform:translateY(-2px)}.btn-line{border:1px solid var(--ink);color:var(--ink)}.btn-line:hover{background:var(--ink);color:var(--bg);transform:translateY(-2px)}.btn-ghost{border:1px solid var(--line);color:var(--ink);background:var(--surface)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-dk)}.btn-wa{color:#063b22;background:#25d366}.btn-wa:hover{color:#fff;background:#1da851;transform:translateY(-2px)}.btn-block{width:100%}header{z-index:80;transition:.4s var(--ease);position:fixed;top:0;left:0;right:0}.nav{max-width:var(--maxw);transition:.4s var(--ease);justify-content:space-between;align-items:center;gap:24px;margin:0 auto;padding:22px 24px;display:flex}header.scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line);background:#f7f3ecdb}header.scrolled .nav{padding-top:14px;padding-bottom:14px}.brand{align-items:center;gap:12px;display:flex}.brand img{object-fit:contain;width:auto;height:42px}.brand .logo-text{font-family:var(--font-display);letter-spacing:.5px;font-size:25px;font-weight:700;line-height:1}.brand .logo-text span{color:var(--accent)}.brand small{letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:3px;font-size:9.5px;font-weight:400;display:block}.menu{align-items:center;gap:34px;display:flex}.menu a{letter-spacing:.06em;color:var(--ink-soft);padding:4px 0;font-size:13.5px;font-weight:400;transition:all .3s;position:relative}.menu a:after{content:"";background:var(--accent);width:0;height:1.5px;transition:.3s var(--ease);position:absolute;bottom:-2px;left:0}.menu a:hover{color:var(--ink)}.menu a:hover:after{width:100%}.menu .menu-only{display:none}.nav-cta{align-items:center;gap:12px;display:flex}.hamburger{z-index:90;flex-direction:column;gap:5px;padding:8px;display:none}.hamburger span{background:var(--ink);width:24px;height:2px;transition:.35s var(--ease);transform-origin:50%}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.hero{z-index:1;padding:100px 0 90px;position:relative}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}.hero h1{letter-spacing:-.5px;font-size:clamp(44px,6.5vw,86px)}.hero h1 em{color:var(--accent);font-style:italic}.hero .lead{margin:24px 0 34px;font-size:18px}.hero-cta{flex-wrap:wrap;gap:36px;display:flex}.hero-meta{border-top:1px solid var(--line);gap:34px;margin-top:46px;padding-top:30px;display:flex}.hero-meta b{font-family:var(--font-display);color:var(--ink);font-size:30px;font-weight:600;display:block}.hero-meta span{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px}.hero-art{position:relative}.hero-art .ph{aspect-ratio:4/5;border-radius:calc(var(--radius) + 8px)}.hero-art .badge{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);z-index:10;align-items:center;gap:14px;max-width:235px;padding:18px 22px;animation:3.6s ease-in-out infinite float;display:flex;position:absolute;bottom:34px;left:-26px}.hero-art .badge .star{color:var(--accent);letter-spacing:2px;font-size:20px;line-height:1}.hero-art .badge p{color:var(--ink-soft);font-size:12.5px;line-height:1.4}.hero-art .badge b{font-family:var(--font-display);color:var(--ink);font-size:17px;display:block}.ph{background:linear-gradient(135deg,var(--accent-sf),#e2d6c6);border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden}.ph .ph-label{z-index:1;text-align:center;color:var(--accent-dk);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:absolute;inset:0}.ph .ph-label svg{opacity:.55;width:34px;height:34px}.ph .ph-label code{font-family:var(--font-body);letter-spacing:.04em;color:var(--ink-soft);background:#ffffffb3;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:500}.ph .ph-label em{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-style:normal}.ph img{z-index:2;object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s var(--ease);position:absolute;inset:0}.ph img.loaded{opacity:1}.about{background:var(--bg-alt)}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:60px;display:grid}.about .imgs{position:relative}.about .imgs .ph.big{aspect-ratio:3/4;border-radius:calc(var(--radius)6px)}.about .imgs .ph.small{aspect-ratio:1;border-radius:var(--radius);width:36%;box-shadow:var(--shadow);border:5px solid var(--bg-alt);z-index:10;transition:transform .4s var(--ease),box-shadow .4s var(--ease);animation:10.2s ease-in-out infinite fadePulse;position:absolute;bottom:-26px;right:-22px}.about .imgs .ph.small:hover{box-shadow:var(--shadow);animation-play-state:paused;transform:scale(1.06)translateY(-4px)}.about h2{margin-bottom:8px;font-size:clamp(32px,4vw,50px)}.about .sig{font-family:var(--font-display);color:var(--accent-dk);margin-top:6px;font-size:22px;font-style:italic}.about p+p{margin-top:16px}.about .role{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-size:12.5px}.head-center{text-align:center;max-width:640px;margin:0 auto 60px}.head-center h2{font-size:clamp(32px,4.4vw,54px)}.head-center p{margin:14px auto 0}.services-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.svc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:.4s var(--ease);padding:34px 30px;position:relative;overflow:hidden}.svc:after{content:"";background:var(--accent);width:0;height:3px;transition:.45s var(--ease);position:absolute;top:0;left:0}.svc:hover{box-shadow:var(--shadow);border-color:#0000;transform:translateY(-6px)}.svc:hover:after{width:100%}.svc .ic{background:var(--accent-sf);width:54px;height:54px;color:var(--accent-dk);border-radius:14px;place-items:center;margin-bottom:20px;display:grid}.svc .ic svg{width:26px;height:26px}.svc h3{margin-bottom:8px;font-size:24px}.svc p{color:var(--ink-soft);min-height:48px;font-size:14.5px}.svc .price{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:18px;padding-top:16px;display:flex}.svc .price b{font-family:var(--font-display);color:var(--accent-dk);font-size:22px}.svc .price a{color:var(--ink-soft);align-items:center;gap:5px;font-size:13px;transition:all .3s;display:inline-flex}.svc .price a:hover{color:var(--accent-dk);gap:9px}.gallery{background:var(--bg-alt)}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.gallery-grid .ph{border-radius:var(--radius-sm);aspect-ratio:1}.gallery-grid .ph video{z-index:2;object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .7s var(--ease),transform .6s var(--ease);position:absolute;inset:0}.gallery-grid .ph video.loaded{opacity:1}.gallery-grid .ph:hover video.loaded{transform:scale(1.04)}.cta{z-index:1;padding:84px 0;position:relative}.cta-box{background:linear-gradient(135deg,var(--ink),#3a2f25);color:var(--bg);border-radius:calc(var(--radius)8px);text-align:center;padding:64px 56px;position:relative;overflow:hidden}.cta-box:before{content:"";opacity:.16;background:radial-gradient(500px 260px at 85% 0%,var(--accent),transparent 60%), radial-gradient(500px 260px at 10% 100%,var(--accent),transparent 60%);position:absolute;inset:0}.cta-box h2{font-size:clamp(30px,4.2vw,52px);position:relative}.cta-box p{color:#f7f3ecd1;max-width:54ch;margin:14px auto 30px;position:relative}.cta-box .hero-cta{justify-content:center;position:relative}.cta-box .btn-line{color:var(--bg);border-color:#f7f3ec99}.cta-box .btn-line:hover{background:var(--bg);color:var(--ink)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:60px;display:grid}.info-list{flex-direction:column;gap:22px;margin-top:28px;display:flex}.info-item{align-items:flex-start;gap:16px;display:flex}.info-item .ic{background:var(--accent-sf);width:46px;height:46px;color:var(--accent-dk);border-radius:12px;flex:none;place-items:center;display:grid}.info-item .ic svg{width:21px;height:21px}.info-item h4{font-family:var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:3px;font-size:13px;font-weight:600}.info-item p{color:var(--ink);font-size:15.5px}.info-item a:hover{color:var(--accent-dk)}.map .ph{aspect-ratio:4/3;border-radius:var(--radius);height:100%;min-height:330px}.socials{gap:12px;margin-top:26px;display:flex}.socials a{border:1px solid var(--line);width:44px;height:44px;color:var(--ink-soft);transition:.35s var(--ease);border-radius:50%;place-items:center;display:grid}.socials a:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-3px)}.socials a svg{width:19px;height:19px}footer{background:var(--ink);color:#f7f3ecb3;z-index:1;padding:24px 0 30px;position:relative}.foot-top{border-bottom:1px solid #f7f3ec24;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;padding-bottom:30px;display:flex}.foot-top .brand .logo-text{color:var(--bg)}.foot-top .brand small{color:#f7f3ec8c}.foot-top img{filter:brightness(0)invert();opacity:.9;height:42px}.foot-links{flex-wrap:wrap;gap:24px;display:flex}.foot-links a{color:#f7f3ecb3;font-size:13.5px;transition:all .3s}.foot-links a:hover{color:var(--bg)}.foot-bottom{text-align:center;letter-spacing:.04em;color:#f7f3ec80;padding-top:24px;font-size:12.5px}.modal-overlay{z-index:120;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:.35s var(--ease);background:#221c168c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;visibility:visible}.modal{background:var(--surface);border-radius:calc(var(--radius)6px);width:100%;max-width:520px;max-height:92vh;box-shadow:var(--shadow);transition:.4s var(--ease);overflow-y:auto;transform:translateY(24px)scale(.97)}.modal-overlay.open .modal{transform:none}.modal-head{padding:28px 30px 0;position:relative}.modal-head .eyebrow{margin-bottom:8px}.modal-head h3{font-size:30px}.modal-head p{color:var(--ink-soft);margin-top:6px;font-size:14px}.modal-close{background:var(--bg);width:38px;height:38px;color:var(--ink-soft);border-radius:50%;place-items:center;transition:all .3s;display:grid;position:absolute;top:22px;right:22px}.modal-close:hover{background:var(--accent);color:#fff;transform:rotate(90deg)}.modal-body{padding:24px 30px 30px}.field{margin-bottom:16px}.field label{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:7px;font-size:12.5px;font-weight:500;display:block}.field label .req{color:var(--accent)}.field input,.field select,.field textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;padding:13px 15px;font-weight:400;transition:all .3s}.field textarea{resize:vertical;min-height:84px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);background:var(--surface);outline:none;box-shadow:0 0 0 3px #a9785a1f}.field.two{grid-template-columns:1fr 1fr;gap:14px;display:grid}.hint{color:var(--muted);text-align:center;margin-top:14px;font-size:12px;line-height:1.5}.note{background:var(--accent-sf);border-radius:var(--radius-sm);color:var(--accent-dk);gap:10px;margin-top:6px;padding:12px 14px;font-size:12.5px;line-height:1.5;display:flex}.note svg{flex:none;width:16px;height:16px;margin-top:2px}.steps{gap:8px;padding:18px 30px 0;display:flex}.steps .dot{background:var(--line);border-radius:999px;flex:1;height:4px;transition:all .4s}.steps .dot.active{background:var(--accent)}.step{display:none}.step.active{animation:fadeUp .45s var(--ease) both;display:block}.summary{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:18px;padding:18px 20px}.summary .row{justify-content:space-between;gap:12px;padding:8px 0;font-size:14.5px;display:flex}.summary .row+.row{border-top:1px dashed var(--line)}.summary .row span{color:var(--ink-soft)}.summary .row b{text-align:right;font-weight:500}.summary .total{margin-top:6px;padding-top:12px;border-top:1px solid var(--ink)!important}.summary .total b{font-family:var(--font-display);color:var(--accent-dk);font-size:22px}.pay-methods{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px;display:grid}.pay{border:1.5px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:13px;font-size:14px;transition:all .3s;display:flex}.pay:hover{border-color:var(--accent)}.pay.sel{border-color:var(--accent);background:var(--accent-sf);color:var(--accent-dk);font-weight:500}.pay .tick{border:1.5px solid var(--line);border-radius:50%;place-items:center;width:18px;height:18px;margin-left:auto;display:grid}.pay.sel .tick{background:var(--accent);border-color:var(--accent)}.pay.sel .tick:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px}.success{text-align:center;padding:8px 0}.success .check{background:var(--accent-sf);width:78px;height:78px;animation:pop .5s var(--ease) both;border-radius:50%;place-items:center;margin:0 auto 18px;display:grid}.success .check svg{width:40px;height:40px;color:var(--ok)}.success h3{margin-bottom:6px;font-size:28px}.success p{color:var(--ink-soft);margin-bottom:18px;font-size:14.5px}.success .done-list{text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:18px;padding:6px 16px}.success .done-list li{align-items:flex-start;gap:12px;padding:12px 0;font-size:14px;list-style:none;display:flex}.success .done-list li+li{border-top:1px dashed var(--line)}.success .done-list .di{background:var(--accent-sf);width:34px;height:34px;color:var(--accent-dk);border-radius:9px;flex:none;place-items:center;display:grid}.success .done-list .di svg{width:17px;height:17px}.success .done-list b{color:var(--ink);font-weight:500;display:block}.success .done-list small{color:var(--muted);font-size:12px}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes fadePulse{0%,to{opacity:1}50%{opacity:.45}}.reveal{opacity:0;transition:.8s var(--ease);transform:translateY(26px)}.reveal.in{opacity:1;transform:none}.hero [data-fade]{opacity:0;animation:fadeUp .9s var(--ease) forwards}.scrim{z-index:79;opacity:0;visibility:hidden;background:#221c1666;transition:all .4s;position:fixed;inset:0}.scrim.open{opacity:1;visibility:visible}@media (width<=980px){.section{padding:74px 0}.hero-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:42px}.hero-art{order:-1;max-width:440px}.hero-art .badge{left:auto;right:18px}.about .imgs{max-width:430px}.services-grid,.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=680px){.menu,.nav-cta .btn{display:none}.hamburger{display:flex}.menu.mobile{background:var(--surface);z-index:85;width:min(78vw,320px);height:100vh;box-shadow:var(--shadow);transition:.45s var(--ease);flex-direction:column;align-items:flex-start;gap:0;padding:96px 30px 30px;display:flex;position:fixed;top:0;right:0;transform:translate(100%)}.menu.mobile.open{transform:none}.menu.mobile a{border-bottom:1px solid var(--line);width:100%;color:var(--ink);padding:16px 0;font-size:18px}.menu.mobile .btn{width:100%;margin-top:22px;display:inline-flex}.hero{padding:120px 0 60px}.hero-meta{flex-wrap:wrap;gap:22px 34px}.hero-cta .btn{flex:1;min-width:140px}.services-grid{grid-template-columns:1fr}.cta-box{padding:48px 26px}.field.two,.pay-methods{grid-template-columns:1fr}.about .imgs .ph.small{right:0}.wrap{padding:0 20px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
