:root{
  --espresso:#2C221E;
  --espresso-soft:#4A3E38;
  --taupe:#8C7C70;
  --ivory:#FAF7F2;
  --ivory-deep:#F4EFE6;
  --line:rgba(44,34,30,.12);
  --header-bg:rgba(250,247,242,.96);
  --footer-bg:#1E1815;
  --brass-1:#C9A24B;
  --brass-2:#B08A37;
  --brass-3:#8F6C24;
  --hero-img:url('images/3.jpg');
}

[data-theme="dark"]{
  --espresso:#F2EBDF;
  --espresso-soft:#D9CFBF;
  --taupe:#B5A899;
  --ivory:#15110D;
  --ivory-deep:#1D1712;
  --line:rgba(242,235,223,.14);
  --header-bg:rgba(21,17,13,.96);
  --footer-bg:#0E0B08;
  --brass-1:#D4AF59;
  --brass-2:#C29A3F;
  --brass-3:#A8802B;
}

html{color-scheme:light;}
[data-theme="dark"]{color-scheme:dark;}

*{box-sizing:border-box;}
body{margin:0;font-family:'Jost',sans-serif;background:var(--ivory);color:var(--espresso);line-height:1.65;font-weight:400;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color .35s ease,color .35s ease;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:500;margin:0;line-height:1.1;color:var(--espresso);}

.wrap{max-width:1220px;margin:0 auto;padding:0 40px;}
@media(max-width:640px){.wrap{padding:0 20px;}}

.roofline{display:block;margin:0 auto;opacity:.85;}
.roofline path,.roofline rect{stroke:var(--brass-1);stroke-width:1.4;fill:none;}

/* Sketch Accents & Line Drawings */
.sketch-accent{display:none !important;margin-bottom:12px;opacity:0.85;}
.sketch-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:40px auto;opacity:0.75;}
.sketch-divider::before,.sketch-divider::after{content:"";height:1px;width:80px;background:var(--brass-1);}

header{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 0;transition:background .4s ease,padding .4s ease,border-color .4s ease,box-shadow .4s ease;border-bottom:1px solid transparent;}
header.solid{background:var(--header-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-color:var(--line);}
header.scrolled{padding:10px 0;box-shadow:0 8px 24px rgba(0,0,0,0.06);}
header .wrap{display:flex;align-items:center;justify-content:space-between;}

/* Brand Logo Theme Switching (Light Mode -> Dark Logo | Dark Mode -> Light Logo) */
.brand img, .foot-brand img{height:54px;width:auto;transition:height .4s ease;}
.brand .logo-dark, .foot-brand .logo-dark{display:block;}
.brand .logo-light, .foot-brand .logo-light{display:none;}

[data-theme="dark"] .brand .logo-dark, [data-theme="dark"] .foot-brand .logo-dark{display:none;}
[data-theme="dark"] .brand .logo-light, [data-theme="dark"] .foot-brand .logo-light{display:block;}

header.scrolled .brand img{height:65px;}

nav{display:flex;align-items:center;gap:24px;}
nav ul{list-style:none;display:flex;align-items:center;gap:24px;margin:0;padding:0;}
nav a{font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--espresso-soft);position:relative;padding:4px 0;white-space:nowrap;transition:color .3s ease;display:inline-flex;align-items:center;gap:7px;}
header nav a{color:var(--espresso-soft);}
nav a svg{width:14px;height:14px;stroke:var(--brass-1);transition:transform .3s ease,stroke .3s ease;flex-shrink:0;}
nav a:hover svg,nav a.active svg{stroke:var(--brass-2);transform:translateY(-1px);}
nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:linear-gradient(90deg,var(--brass-1),var(--brass-2));transition:width .3s ease;border-radius:1px;}
nav a:hover::after,nav a.active::after{width:100%;}
nav a.active{color:var(--brass-2)!important;font-weight:600;}

.header-actions{display:flex;align-items:center;gap:14px;}
.location-badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;color:var(--brass-3);background:rgba(201,162,75,0.08);border:1px solid rgba(201,162,75,0.25);padding:6px 14px;border-radius:20px;white-space:nowrap;}
[data-theme="dark"] .location-badge{color:var(--brass-1);background:rgba(201,162,75,0.14);}

header .theme-toggle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);color:var(--espresso-soft);background:transparent;cursor:pointer;transition:all .3s ease;}
header .theme-toggle:hover{border-color:var(--brass-1);color:var(--brass-1);background:rgba(201,162,75,0.08);}

.btn{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;padding:12px 24px;border:1px solid var(--espresso);color:var(--espresso);white-space:nowrap;transition:all .35s ease;display:inline-block;cursor:pointer;border-radius:2px;}
.btn:hover{background:var(--espresso);color:var(--ivory);}
.btn.brass{background:linear-gradient(120deg,var(--brass-2),var(--brass-1) 50%,var(--brass-2));border-color:transparent;color:#20180F;box-shadow:0 4px 14px rgba(201,162,75,0.25);}
.btn.brass:hover{filter:brightness(1.08);transform:translateY(-1px);}
.btn.ghost-light{border-color:rgba(247,241,230,.5);color:var(--ivory);}
.btn.ghost-light:hover{background:var(--ivory);color:var(--espresso);}
.btn.outline{border:1px solid var(--brass-1);color:var(--espresso);background:transparent;}
.btn.outline:hover{background:var(--brass-1);color:#20180F;}

.page-hero{position:relative;min-height:54vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:170px 24px 90px;overflow:hidden;background:var(--espresso);}
.page-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(36,29,22,.55),rgba(36,29,22,.85)),var(--hero-img);background-size:cover;background-position:center;animation:kenburns 22s ease-in-out infinite alternate;}
@keyframes kenburns{from{transform:scale(1);}to{transform:scale(1.08);}}
.page-hero-inner{position:relative;z-index:2;max-width:800px;}
.page-hero .roofline{margin-bottom:24px;}
.page-hero .eyebrow{color:var(--brass-1);font-size:11px;letter-spacing:.22em;text-transform:uppercase;}
.page-hero h1{font-size:clamp(38px,5.6vw,68px);color:#F7F1E6;margin-top:18px;font-weight:400;}
[data-theme="dark"] .page-hero h1{color:#F2EBDF;}
.page-hero h1 em{font-style:italic;color:var(--brass-1);font-weight:500;}
.page-hero p{max-width:560px;margin:22px auto 0;color:rgba(247,241,230,.78);font-size:16.5px;}
.crumbs{position:relative;z-index:2;margin-top:30px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,241,230,.5);}
.crumbs a{color:rgba(247,241,230,.75);}
.crumbs a:hover{color:var(--brass-1);}

.hero{position:relative;min-height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:150px 24px 90px;background:radial-gradient(ellipse at 50% -10%, rgba(201,162,75,.18), transparent 55%),var(--espresso);overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(36,29,22,.5),rgba(36,29,22,.84)),var(--hero-img);background-size:cover;background-position:center;opacity:.95;animation:kenburns 24s ease-in-out infinite alternate;}
.hero-inner{position:relative;z-index:2;max-width:860px;}
.hero .roofline{margin-bottom:24px;}
.hero h1{font-size:clamp(42px,6.2vw,80px);color:#F7F1E6;margin-top:20px;font-weight:400;}
[data-theme="dark"] .hero h1{color:#F2EBDF;}
.hero h1 em{font-style:italic;color:var(--brass-1);font-weight:500;}
.hero p.sub{max-width:580px;margin:24px auto 0;color:rgba(247,241,230,.8);font-size:17px;line-height:1.7;}
.hero-ctas{display:flex;gap:16px;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.scroll-cue{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:rgba(247,241,230,.55);font-size:10.5px;letter-spacing:.28em;text-transform:uppercase;z-index:2;}
.scroll-cue .line{width:1px;height:36px;background:linear-gradient(var(--brass-1),transparent);animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:.35;}50%{opacity:1;}}

section{padding:100px 0;position:relative;}
.section-head{max-width:680px;margin-bottom:56px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}
.section-head .eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-2);display:inline-block;margin-bottom:8px;}
.section-head h2{font-size:clamp(32px,3.8vw,48px);margin-top:10px;}
.section-head p{margin-top:16px;font-size:16px;color:var(--espresso-soft);}

/* Fixed Process & Dark Section Contrast Issue */
.dark{background:var(--ivory-deep);color:var(--espresso);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
[data-theme="dark"] .dark{background:#1B150F;color:#F2EBDF;}
.dark p{color:var(--espresso-soft);}
[data-theme="dark"] .dark p{color:rgba(247,241,230,.72);}
.dark h2,.dark h3,.dark h4{color:var(--espresso);}
[data-theme="dark"] .dark h2,[data-theme="dark"] .dark h3,[data-theme="dark"] .dark h4{color:#F2EBDF;}

/* -------- Grid & Section Layouts -------- */
.story{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.story-media{position:relative;}
.story-media .frame{position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--brass-1);z-index:0;}
.story-media img{position:relative;z-index:1;width:100%;height:460px;object-fit:cover;box-shadow:0 12px 30px rgba(0,0,0,0.08);}
@media(max-width:900px){.story{grid-template-columns:1fr;gap:40px;}.story-media{order:2;}.story-media .frame{display:none;}}

/* What We Offer / Offerings Grid */
.offerings-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.offering-card{background:var(--ivory-deep);padding:36px 28px;border:1px solid var(--line);transition:all .35s ease;position:relative;overflow:hidden;}
[data-theme="dark"] .offering-card{background:rgba(255,255,255,0.03);}
.offering-card:hover{transform:translateY(-4px);border-color:var(--brass-1);box-shadow:0 12px 28px rgba(0,0,0,0.06);}
.offering-card .icon-sketch{width:42px;height:42px;margin-bottom:20px;color:var(--brass-1);}
.offering-card h3{font-size:22px;margin-bottom:12px;}
.offering-card p{font-size:14px;color:var(--espresso-soft);margin:0;}
@media(max-width:1024px){.offerings-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.offerings-grid{grid-template-columns:1fr;}}

/* Services Page & Preview Grid (11 Space Categories) */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.service-card{background:var(--ivory-deep);border:1px solid var(--line);overflow:hidden;transition:all .35s ease;display:flex;flex-direction:column;}
[data-theme="dark"] .service-card{background:rgba(255,255,255,0.03);}
.service-card:hover{transform:translateY(-5px);border-color:var(--brass-1);box-shadow:0 16px 36px rgba(0,0,0,0.08);}
.service-card .img-wrap{height:260px;position:relative;overflow:hidden;}
.service-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;}
.service-card:hover .img-wrap img{transform:scale(1.08);}
.service-card .badge{position:absolute;top:16px;left:16px;background:var(--brass-1);color:#20180F;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:5px 12px;}
.service-card .content{padding:30px 26px;flex:1;display:flex;flex-direction:column;}
.service-card h3{font-size:24px;margin-bottom:12px;}
.service-card p{font-size:14.5px;color:var(--espresso-soft);margin-bottom:20px;flex:1;}
.service-card .highlights{list-style:none;padding:0;margin:0 0 24px 0;display:flex;flex-direction:column;gap:8px;}
.service-card .highlights li{font-size:13px;color:var(--taupe);display:flex;align-items:center;gap:8px;}
.service-card .highlights li::before{content:"✦";color:var(--brass-1);font-size:10px;}
.service-card .btn-link{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--brass-2);display:inline-flex;align-items:center;gap:6px;transition:gap .3s ease;}
.service-card:hover .btn-link{gap:10px;color:var(--brass-1);}
@media(max-width:960px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;}}

/* Design Styles Grid */
.style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.style-card{position:relative;height:320px;overflow:hidden;border:1px solid var(--line);cursor:pointer;}
.style-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.2,1);filter:brightness(0.88);}
.style-card:hover img{transform:scale(1.1);filter:brightness(0.95);}
.style-card .overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(36,29,22,0.85) 0%, rgba(36,29,22,0.2) 60%, transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px 24px;color:#F7F1E6;transition:all .35s ease;}
.style-card h3{font-size:26px;color:#F7F1E6;margin-bottom:6px;}
.style-card p{font-size:13.5px;color:rgba(247,241,230,0.8);margin:0;opacity:0;transform:translateY(10px);transition:all .35s ease;}
.style-card:hover p{opacity:1;transform:translateY(0);}
@media(max-width:900px){.style-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.style-grid{grid-template-columns:1fr;}}

/* Why Choose AARMBH Grid */
.why-us-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.why-us-card{border:1px solid var(--line);padding:38px 28px;background:var(--ivory-deep);transition:all .4s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;border-radius:4px;position:relative;}
[data-theme="dark"] .why-us-card{background:rgba(255,255,255,0.03);}
.why-us-card:hover{border-color:var(--brass-1);transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,0.08);}
.why-us-card .why-icon{width:48px;height:48px;border-radius:50%;background:rgba(201,162,75,0.12);border:1px solid var(--brass-1);display:flex;align-items:center;justify-content:center;color:var(--brass-1);margin-bottom:20px;transition:all .35s ease;}
.why-us-card:hover .why-icon{background:var(--brass-1);color:#20180F;transform:scale(1.08);}
.why-us-card .why-icon svg{width:22px;height:22px;}
.why-us-card h3{font-size:21px;margin-bottom:10px;}
.why-us-card p{font-size:14.5px;color:var(--espresso-soft);margin:0;line-height:1.6;}
@media(max-width:1024px){.why-us-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.why-us-grid{grid-template-columns:1fr;}}

/* Home Configurations Grid */
.home-types-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.home-type-card{border:1px solid var(--line);padding:30px 22px;text-align:center;background:var(--ivory-deep);transition:all .35s ease;}
[data-theme="dark"] .home-type-card{background:rgba(255,255,255,0.03);}
.home-type-card:hover{border-color:var(--brass-1);background:rgba(201,162,75,0.08);transform:translateY(-3px);}
.home-type-card h3{font-size:24px;color:var(--espresso);margin-bottom:8px;}
.home-type-card p{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);margin:0;}
@media(max-width:900px){.home-types-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.home-types-grid{grid-template-columns:1fr;}}

/* Brands & Partner Logos Showcase Grid */
.brands-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.brand-cat-card{border:1px solid var(--line);padding:32px 26px;background:var(--ivory-deep);}
[data-theme="dark"] .brand-cat-card{background:rgba(255,255,255,0.03);}
.brand-cat-card h4{font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2);margin-bottom:16px;}
.brand-cat-card .brand-pills{display:flex;flex-wrap:wrap;gap:10px;}
.brand-cat-card .pill{font-size:13px;padding:6px 14px;background:var(--ivory);border:1px solid var(--line);color:var(--espresso-soft);font-weight:500;}
[data-theme="dark"] .brand-cat-card .pill{background:rgba(255,255,255,0.06);color:#F2EBDF;}

.partner-logos-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:20px;}
.partner-logo-card{background:var(--ivory);border:1px solid var(--line);padding:14px 18px;height:70px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .35s cubic-bezier(.2,.8,.2,1);overflow:hidden;}
[data-theme="dark"] .partner-logo-card{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.12);}
.partner-logo-card:hover{transform:translateY(-4px);border-color:var(--brass-1);box-shadow:0 10px 24px rgba(0,0,0,0.06);background:var(--ivory-deep);}
[data-theme="dark"] .partner-logo-card:hover{background:rgba(201,162,75,0.12);}
.partner-logo-card img{max-width:90%;max-height:40px;width:auto;height:auto;object-fit:contain;transition:transform .35s ease;}
[data-theme="dark"] .partner-logo-card img[src$=".png"],
[data-theme="dark"] .partner-logo-card img[src$=".jpg"],
[data-theme="dark"] .partner-logo-card img[src$=".jpeg"]{background:#FFFFFF;padding:4px 8px;border-radius:4px;}
.partner-logo-card:hover img{transform:scale(1.08);}

@media(max-width:1024px){.partner-logos-grid{grid-template-columns:repeat(4,1fr);}.brands-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:768px){.partner-logos-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:480px){.partner-logos-grid{grid-template-columns:repeat(2,1fr);}.brands-grid{grid-template-columns:1fr;}}

/* -------- Gallery & Image Frame Layouts -------- */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.img-frame{position:relative;height:320px;overflow:hidden;isolation:isolate;border:1px solid var(--line);background:var(--ivory-deep);}
.img-frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .8s cubic-bezier(.2,.8,.2,1);}
.img-frame:hover img{transform:scale(1.08);}
.img-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(to top, rgba(36,29,22,.88) 0%, rgba(36,29,22,.25) 60%, transparent 100%);opacity:.95;pointer-events:none;}
.img-frame .cap{position:absolute;left:0;right:0;bottom:0;padding:24px 20px;color:#F7F1E6;z-index:2;}
[data-theme="dark"] .img-frame .cap{color:#F2EBDF;}
.img-frame .cap .tag{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-1);font-weight:600;display:block;}
.img-frame .cap .ti{font-family:'Cormorant Garamond',serif;font-size:22px;margin-top:4px;color:#F7F1E6;}
@media(max-width:1024px){.gallery{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.gallery{grid-template-columns:1fr;}}

.reveal-img{position:relative;overflow:hidden;}
.reveal-img::before{content:"";position:absolute;inset:0;background:var(--brass-1);z-index:2;transform-origin:left;transform:scaleX(1);transition:transform 1s cubic-bezier(.65,0,.15,1);}
.reveal-img.in::before{transform:scaleX(0);}
.reveal-img img{transform:scale(1.15);transition:transform 1.4s cubic-bezier(.2,.8,.2,1);}
.reveal-img.in img{transform:scale(1);}

.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px;}
.filters button{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;padding:10px 20px;border:1px solid var(--line);background:transparent;color:var(--taupe);cursor:pointer;transition:all .3s ease;font-family:'Jost',sans-serif;}
.filters button.active,.filters button:hover{border-color:var(--brass-2);color:var(--espresso);background:rgba(201,162,75,.12);}

/* Interactive 6-Step Journey Grid */
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.proc-step{background:var(--ivory-deep);border:1px solid var(--line);padding:38px 30px;position:relative;transition:all .4s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;border-radius:4px;}
[data-theme="dark"] .proc-step{background:rgba(255,255,255,0.03);}
.proc-step:hover{transform:translateY(-6px);border-color:var(--brass-1);box-shadow:0 16px 36px rgba(0,0,0,0.08);}
.proc-step .step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.proc-step .proc-icon{width:48px;height:48px;border-radius:50%;background:rgba(201,162,75,0.12);border:1px solid var(--brass-1);display:flex;align-items:center;justify-content:center;color:var(--brass-1);transition:all .35s ease;}
.proc-step:hover .proc-icon{background:var(--brass-1);color:#20180F;transform:scale(1.08);}
.proc-step .proc-icon svg{width:22px;height:22px;}
.proc-step .num{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:600;color:var(--brass-1);line-height:1;}
.proc-step h3{font-size:22px;margin-bottom:6px;}
.proc-step .step-tagline{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--brass-2);font-weight:600;margin-bottom:12px;}
.proc-step p{font-size:14.5px;color:var(--espresso-soft);margin:0;line-height:1.65;}
@media(max-width:1024px){.process-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.process-grid{grid-template-columns:1fr;}}

.process-list{border-top:1px solid var(--line);}
.process-row{display:grid;grid-template-columns:110px 1fr 1fr;gap:32px;padding:38px 0;border-bottom:1px solid var(--line);align-items:baseline;}
.process-row .step-no{font-family:'Cormorant Garamond',serif;font-size:44px;color:var(--brass-1);font-weight:400;}
.process-row h3{font-size:24px;}
.process-row p{font-size:14.5px;}
@media(max-width:760px){.process-row{grid-template-columns:1fr;gap:10px;}.process-row .step-no{font-size:32px;}}

.process-detail{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:70px 0;border-bottom:1px solid var(--line);}
.process-detail:nth-child(even) .pd-media{order:2;}
.process-detail .pd-num{font-family:'Cormorant Garamond',serif;color:var(--brass-1);font-size:18px;letter-spacing:.1em;}
.process-detail h3{font-size:32px;margin-top:16px;}
.process-detail p{margin-top:16px;font-size:15px;}
.process-detail .pd-media{height:360px;}
@media(max-width:900px){.process-detail{grid-template-columns:1fr;gap:30px;}.process-detail:nth-child(even) .pd-media{order:0;}}

/* Consultation Form Section */
.cta-section{position:relative;background:#241D16;color:#F7F1E6;overflow:hidden;}
[data-theme="dark"] .cta-section{background:#1B150F;color:#F2EBDF;}
.cta-section::before{content:"";position:absolute;inset:0;background-image:radial-gradient(ellipse at 80% 20%, rgba(201,162,75,.16), transparent 60%);}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;position:relative;z-index:1;}
.cta-grid h2{font-size:clamp(30px,3.6vw,44px);margin-top:20px;color:#F7F1E6;}
[data-theme="dark"] .cta-grid h2{color:#F2EBDF;}
.cta-grid p{margin-top:20px;max-width:420px;color:rgba(247,241,230,.78);}
.cta-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px;}
.cta-tags span{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(247,241,230,.28);padding:9px 16px;color:rgba(247,241,230,.85);}
form{display:flex;flex-direction:column;gap:20px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--espresso-soft);font-weight:500;}
.field input,.field select,.field textarea{background:transparent;border:none;border-bottom:1px solid var(--line);color:var(--espresso);font-family:'Jost',sans-serif;font-size:15px;padding:10px 2px;outline:none;transition:border-color .3s ease, color .3s ease;resize:none;}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{color:#F2EBDF;border-bottom-color:rgba(242,235,223,.25);}
.field select option{color:var(--espresso);background:var(--ivory);}
[data-theme="dark"] .field select option{color:#F2EBDF;background:#1D1712;}
.field input::placeholder,.field textarea::placeholder{color:var(--taupe);opacity:0.85;}
[data-theme="dark"] .field input::placeholder,[data-theme="dark"] .field textarea::placeholder{color:rgba(247,241,230,.5);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass-1);}

/* Field Error Validation Styles */
.field input.invalid,.field select.invalid,.field textarea.invalid{border-bottom:2px solid #FF5252 !important;background:rgba(255,82,82,0.06) !important;}
.field-error-msg{display:block;font-size:11.5px;color:#FF5252;font-weight:500;margin-top:5px;letter-spacing:.02em;transition:all .3s ease;}
.field-error-msg.hidden{display:none;}

/* Dark CTA Section Specific Form Overrides */
.cta-section .field label{color:rgba(247,241,230,.7);}
.cta-section .field input,.cta-section .field select,.cta-section .field textarea{border-bottom:1px solid rgba(247,241,230,.35);color:#F7F1E6;}
[data-theme="dark"] .cta-section .field input,[data-theme="dark"] .cta-section .field select,[data-theme="dark"] .cta-section .field textarea{color:#F2EBDF;}
.cta-section .field select option{color:#20180F;background:#FAF7F2;}
.cta-section .field input::placeholder,.cta-section .field textarea::placeholder{color:rgba(247,241,230,.5);}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.fineprint{font-size:12px;color:rgba(247,241,230,.5);margin-top:6px;}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr;gap:52px;}.row2{grid-template-columns:1fr;}}

.contact-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:90px;}
.contact-cards .cc{background:var(--ivory);padding:44px 36px;}
.contact-cards .cc .eyebrow{margin-bottom:16px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2);}
.contact-cards .cc p{font-size:14.5px;color:var(--espresso-soft);}
.contact-cards .cc a{color:var(--espresso);border-bottom:1px solid var(--brass-2);font-weight:500;}
@media(max-width:900px){.contact-cards{grid-template-columns:1fr;}}

footer{background:var(--footer-bg);color:rgba(247,241,230,.65);padding:90px 0 30px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:50px;padding-bottom:60px;border-bottom:1px solid rgba(247,241,230,.1);}
.foot-brand img{height:54px;margin-bottom:20px;}
.foot-brand p{font-size:13.5px;max-width:280px;line-height:1.6;}
.foot-social{display:flex;align-items:center;gap:12px;margin-top:20px;}
.foot-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(201,162,75,0.3);background:rgba(255,255,255,0.04);color:var(--brass-2);display:inline-flex;align-items:center;justify-content:center;transition:all .35s ease;text-decoration:none;}
.foot-social a:hover{background:var(--brass-1);color:#14100C;border-color:var(--brass-1);transform:translateY(-3px);box-shadow:0 6px 16px rgba(201,162,75,0.25);}
.foot-social a svg{width:17px;height:17px;fill:currentColor;}
footer h4{color:#F7F1E6;font-family:'Jost',sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin-bottom:22px;}
[data-theme="dark"] footer h4{color:#F2EBDF;}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px;}
footer ul a{font-size:14px;color:rgba(247,241,230,.65);transition:color .25s ease;}
footer ul a:hover{color:var(--brass-1);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;flex-wrap:wrap;gap:14px;}
.foot-bottom p{font-size:12px;color:rgba(247,241,230,.45);}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr;}}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--line);background:transparent;color:var(--espresso-soft);cursor:pointer;transition:all .35s ease;flex-shrink:0;}
.theme-toggle:hover{border-color:var(--brass-2);color:var(--brass-2);}
.theme-toggle svg{width:16px;height:16px;display:block;}
.theme-toggle .icon-moon{display:none;}
[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
[data-theme="dark"] .theme-toggle .icon-moon{display:block;}
.mobile-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid var(--line);background:transparent;color:var(--espresso-soft);cursor:pointer;transition:all .35s ease;flex-shrink:0;}
.mobile-menu-toggle:hover{border-color:var(--brass-2);color:var(--brass-2);}
.mobile-menu-toggle svg{width:18px;height:18px;display:block;}
header .mobile-menu-toggle{border-color:rgba(247,241,230,.35);color:rgba(247,241,230,.88);}
header.scrolled .mobile-menu-toggle,header.solid .mobile-menu-toggle{border-color:var(--line);color:var(--espresso-soft);}

@media(max-width:900px){
  .mobile-menu-toggle{display:inline-flex;width:36px;height:36px;}
  nav ul{position:fixed;top:70px;left:0;right:0;z-index:999;background:var(--header-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;padding:26px 32px 32px;gap:20px;border-bottom:1px solid var(--line);box-shadow:0 20px 40px rgba(0,0,0,0.25);transform:translateY(-150%);opacity:0;visibility:hidden;transition:transform .35s ease,opacity .35s ease,visibility .35s ease;}
  nav.nav-open ul{transform:translateY(0);opacity:1;visibility:visible;}
  nav ul a{font-size:16px;display:block;color:var(--espresso-soft)!important;}
  .btn.brass{padding:11px 18px;}
  .theme-toggle{width:36px;height:36px;}
}
@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}

/* ----------------------------------------------------
   LUXURY BRASS CAROUSEL LIGHTBOX POPUP MODAL STYLES
   ---------------------------------------------------- */
.lightbox-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(10, 8, 6, 0.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  padding: 20px;
  user-select: none;
}
.lightbox-modal.active {
  opacity: 1;
  visibility: visible;
}

.lightbox-container {
  position: relative;
  max-width: 1100px;
  width: 100%;
  max-height: 80vh;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  background: #0D0A07;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.9);
}

.lightbox-slide-img {
  max-width: 100%;
  max-height: 72vh;
  object-fit: contain;
  display: block;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.lightbox-nav-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(20, 16, 12, 0.85);
  border: 1px solid var(--brass-1);
  color: var(--brass-2);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: all 0.25s ease;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.6);
}
.lightbox-nav-btn:hover {
  background: var(--brass-1);
  color: #14100C;
  transform: translateY(-50%) scale(1.08);
}
.lightbox-prev { left: 16px; }
.lightbox-next { right: 16px; }

.lightbox-close-btn {
  position: absolute;
  top: 16px;
  right: 18px;
  background: rgba(20, 16, 12, 0.85);
  border: 1px solid var(--brass-1);
  color: var(--brass-2);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 22px;
  z-index: 12;
  transition: all 0.25s ease;
}
.lightbox-close-btn:hover {
  background: var(--brass-1);
  color: #14100C;
  transform: rotate(90deg);
}

.lightbox-caption-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(0deg, rgba(13, 10, 7, 0.95) 0%, rgba(13, 10, 7, 0.6) 75%, transparent 100%);
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--text);
  z-index: 5;
}
.lightbox-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 22px;
  color: var(--brass-2);
  margin-bottom: 2px;
}
.lightbox-counter {
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--brass-1);
  font-weight: 600;
  background: rgba(201, 162, 75, 0.15);
  padding: 4px 12px;
  border-radius: 12px;
  border: 1px solid var(--line);
}

.lightbox-thumbs-bar {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 14px 10px 4px;
  max-width: 1100px;
  width: 100%;
  justify-content: center;
}
.lightbox-thumb {
  width: 64px;
  height: 48px;
  border-radius: 4px;
  border: 2px solid transparent;
  object-fit: cover;
  cursor: pointer;
  opacity: 0.5;
  transition: all 0.25s ease;
  flex-shrink: 0;
}
.lightbox-thumb:hover, .lightbox-thumb.active {
  opacity: 1;
  border-color: var(--brass-1);
  transform: scale(1.06);
}

/* Service Card Click Pointer Cue */
.service-card .img-wrap, .process-detail .pd-media {
  cursor: pointer;
  position: relative;
}
.service-card .img-wrap::after, .process-detail .pd-media::after {
  content: '🔍 Click to view gallery photos';
  position: absolute;
  inset: 0;
  background: rgba(13, 10, 7, 0.6);
  color: var(--brass-2);
  font-size: 13px;
  letter-spacing: 0.08em;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.service-card .img-wrap:hover::after, .process-detail .pd-media:hover::after {
  opacity: 1;
}

