:root{--ink: #1b120f;--ink-soft: #241a15;--ivory: #f2e9dd;--ivory-dim: #cfc2b0;--gold: #c9a15a;--gold-bright: #e4c286;--gold-glow: rgba(201, 161, 90, .25);--maroon: #6a1f24;--muted: #8c7b6b;--line: rgba(201, 161, 90, .35);--maxw: 1180px;--radius: 4px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--ivory);font-family:Jost,sans-serif;font-weight:300;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}h1,h2,h3{font-family:Fraunces,serif;font-weight:500;letter-spacing:.01em}.eyebrow{font-family:Jost,sans-serif;text-transform:uppercase;letter-spacing:.28em;font-size:11px;color:var(--gold);font-weight:500}.kasavu-frame{position:relative;padding:9px}.kasavu-frame:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--gold);opacity:.45}.kasavu-frame:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid var(--gold);opacity:.85}.kasavu-frame>.frame-inner{position:relative;overflow:hidden}.kasavu-rule{height:14px;width:100%;background-image:linear-gradient(90deg,var(--gold) 0 2px,transparent 2px 100%);background-size:14px 100%;background-repeat:repeat-x;background-position:center;opacity:.55;position:relative}.kasavu-rule:before{content:"";position:absolute;left:0;right:0;top:6px;height:1px;background:var(--gold);opacity:.7}.kasavu-rule:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:var(--gold);opacity:.7}header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(to bottom,#1b120ff2,#1b120f00);padding:18px 0;transition:all .3s ease}header.scrolled{background:#1b120ff5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:12px 0}header .wrap{display:flex;align-items:center;justify-content:space-between}.logo{font-family:Fraunces,serif;font-style:italic;font-size:22px;color:var(--ivory);letter-spacing:.02em}.logo span{color:var(--gold)}nav.links{display:none;gap:28px;font-size:14px}nav.links a{opacity:.85;transition:opacity .2s,color .2s}nav.links a:hover{opacity:1;color:var(--gold)}.nav-wa{display:flex;align-items:center;gap:8px;border:1px solid var(--gold);color:var(--gold-bright);padding:9px 18px;font-size:13px;letter-spacing:.04em;border-radius:var(--radius);transition:all .3s ease}.nav-wa:hover{background:var(--gold);color:var(--ink);transform:translateY(-1px)}@media (min-width: 860px){nav.links{display:flex}}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding-top:130px;padding-bottom:60px}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 0%,rgba(106,31,36,.45),transparent 70%),linear-gradient(180deg,rgba(27,18,15,.5) 0%,rgba(27,18,15,.88) 75%,var(--ink) 100%),url(/images/hero-bg.jpg) center/cover no-repeat;z-index:0}.hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(115deg,rgba(201,161,90,.04) 0 2px,transparent 2px 34px);mix-blend-mode:overlay}.hero-content{position:relative;z-index:1;width:100%}.hero .eyebrow{margin-bottom:18px}.hero h1{font-size:clamp(38px,8vw,76px);line-height:1.05;color:var(--ivory);max-width:15ch}.hero h1 em{font-style:italic;color:var(--gold-bright)}.hero p.sub{margin-top:22px;max-width:44ch;color:var(--ivory-dim);font-size:17px}.hero-actions{margin-top:34px;display:flex;flex-wrap:wrap;gap:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;font-size:14px;letter-spacing:.04em;border-radius:var(--radius);cursor:pointer;border:none;font-family:inherit;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}.btn-primary{background:var(--gold);color:var(--ink);font-weight:500}.btn-primary:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 8px 20px #c9a15a4d}.btn-ghost{border:1px solid var(--line);color:var(--ivory);background:transparent}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-bright);transform:translateY(-2px)}.hero-loc{margin-top:50px;display:flex;gap:26px;flex-wrap:wrap;font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.hero-loc strong{color:var(--gold)}section{padding:96px 0}.section-head{max-width:54ch;margin-bottom:48px}.section-head h2{font-size:clamp(28px,5vw,44px);margin-top:10px;color:var(--ivory)}.section-head p{color:var(--ivory-dim);margin-top:14px;font-size:16px}.about{background:var(--ink-soft)}.about-grid{display:grid;gap:40px}.about-photo{aspect-ratio:4 / 5;background:#1e130e;position:relative}.about-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.placeholder-box{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--ink-soft);border:1px dashed var(--line);color:var(--gold-bright);font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:all .3s ease}.placeholder-item:hover .placeholder-box{border-color:var(--gold);background:#281c16;color:var(--ivory)}.placeholder-icon{color:var(--gold)}.about-photo:hover img{transform:scale(1.03)}.about-copy h2{margin-top:12px;font-size:clamp(26px,4.5vw,38px);color:var(--ivory)}.about-desc{margin-top:22px}.about-desc p{color:var(--ivory-dim);font-size:16px;margin-bottom:16px}.about-desc p:last-child{margin-bottom:0}@media (min-width: 800px){.about-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:64px}}.services-grid{display:grid;gap:2px;background:var(--line)}.service-card{background:var(--ink);padding:38px 28px;transition:background .3s ease}.service-card:hover{background:#221611}.service-card .num{font-family:Fraunces,serif;font-style:italic;color:var(--gold);font-size:16px;opacity:.85}.service-card h3{color:var(--ivory);font-size:22px;margin:16px 0 12px}.service-card p{color:var(--ivory-dim);font-size:15px}@media (min-width: 700px){.services-grid{grid-template-columns:repeat(3,1fr)}}.filter-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.filter-btn{background:transparent;border:1px solid var(--line);color:var(--ivory-dim);padding:8px 18px;font-size:13px;border-radius:30px;cursor:pointer;transition:all .25s ease}.filter-btn:hover,.filter-btn.active{border-color:var(--gold);color:var(--gold-bright);background:#c9a15a1a}.gallery-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:16px}@media (min-width: 600px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 900px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-item{position:relative;aspect-ratio:4 / 5;overflow:hidden;cursor:pointer;background:#1c110d}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.gallery-item .overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(27,18,15,.85) 0%,transparent 60%);display:flex;align-items:flex-end;padding:20px;opacity:0;transition:opacity .3s ease}.gallery-item .overlay span{color:var(--gold-bright);font-size:13px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--gold)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:hover .overlay{opacity:1}.gallery-item.hidden{display:none}.lightbox-modal{display:none;position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:#0f0907f2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;justify-content:center;flex-direction:column;padding:20px}.lightbox-modal.open{display:flex}.lightbox-modal img{max-width:90vw;max-height:80vh;border:1px solid var(--line);box-shadow:0 12px 40px #000000b3;object-fit:contain}.lightbox-caption{margin-top:16px;color:var(--gold-bright);font-size:15px;letter-spacing:.05em}.lightbox-close{position:absolute;top:24px;right:32px;color:var(--ivory);font-size:36px;cursor:pointer;transition:color .2s}.lightbox-close:hover{color:var(--gold)}.process{background:var(--ink-soft)}.process-list{display:grid;gap:32px}.process-item{display:flex;gap:22px;align-items:flex-start}.process-item .n{font-family:Fraunces,serif;font-style:italic;color:var(--gold);font-size:26px;min-width:36px}.process-item h3{font-size:18px;color:var(--ivory);margin-bottom:6px;font-family:Jost,sans-serif;font-weight:500}.process-item p{font-size:15px;color:var(--ivory-dim)}@media (min-width: 760px){.process-list{grid-template-columns:repeat(2,1fr);column-gap:56px}}.contact-inner{border:1px solid var(--line);padding:48px 32px;background:var(--ink);position:relative}.contact h2{font-size:clamp(30px,6vw,48px);color:var(--ivory)}.contact p{color:var(--ivory-dim);margin-top:14px;font-size:16px}.inquiry-form{margin-top:36px}.form-grid{display:grid;gap:20px}@media (min-width: 650px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}.form-group input,.form-group select{background:var(--ink-soft);border:1px solid var(--line);color:var(--ivory);padding:12px 16px;font-family:inherit;font-size:14px;border-radius:var(--radius);outline:none;transition:border-color .25s ease}.form-group input:focus,.form-group select:focus{border-color:var(--gold-bright)}.form-actions{margin-top:28px;display:flex;flex-wrap:wrap;gap:16px}.contact-details{margin-top:48px;display:grid;gap:22px;font-size:14px;color:var(--ivory-dim);border-top:1px solid var(--line);padding-top:30px}.contact-details .label{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--gold);display:block;margin-bottom:6px}@media (min-width: 700px){.contact-details{grid-template-columns:repeat(3,1fr)}}footer{padding:40px 0 90px}footer .wrap{display:flex;flex-direction:column;gap:16px;font-size:13px;color:var(--muted)}footer .foot-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}footer a:hover{color:var(--gold-bright)}.wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #00000073;transition:transform .3s ease,background .3s ease}.wa-float:hover{background:var(--gold-bright);transform:scale(1.08)}.wa-float svg{width:28px;height:28px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
