:root{
  --black:#000;--ink:#0A0A0A;--line:rgba(216,192,140,.32);--hair:rgba(255,255,255,.08);
  --gold:#D8C08C;--gold2:#E6D3A3;
  --goldtext:linear-gradient(100deg,#9C7535 0%,#C9A866 28%,#E8D08A 50%,#C9A866 72%,#9C7535 100%);
  --goldgrad:linear-gradient(100deg,#9C7535 0%,#C9A866 24%,#E8D08A 48%,#C9A866 70%,#9C7535 100%);
  --green:#2FA866;--green2:#58C68A;--text:#BEBEBE;--white:#F5F3EE;
  --display:"Cormorant Garamond",Georgia,serif;--body:"Lusitana",Georgia,serif;--ui:"Montserrat",system-ui,sans-serif;--logo:"Syncopate","Arial Black",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--black);color:var(--text);font:400 18px/1.75 var(--body);-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
.skip{position:absolute;left:-9999px;top:8px;z-index:99;background:var(--gold2);color:#000;padding:10px 16px;font:700 13px var(--ui)}
.skip:focus{left:12px}
:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 28px}
h1,h2,h3{margin:0;font-weight:600;line-height:1.12}
h1.page{font:600 clamp(42px,6vw,72px)/1.05 var(--display);color:var(--white)}
h2{font:600 clamp(36px,4.6vw,56px)/1.08 var(--display);color:var(--white)}
h1 em,h2 em{font-style:italic;color:var(--green2)}
h3{font:600 26px/1.2 var(--display);color:var(--white)}
.eyebrow{font:700 12px/1 var(--ui);letter-spacing:.32em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:14px;margin-bottom:20px}
.eyebrow:before{content:"";width:34px;height:1px;background:var(--goldgrad)}
.center .eyebrow:after{content:"";width:34px;height:1px;background:var(--goldgrad)}
.gold-text{background:var(--goldtext);-webkit-background-clip:text;background-clip:text;color:transparent}

/* buttons: gold fill with a double gold frame, like the logo */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 14px/1 var(--ui);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#0B0B0B;background:var(--goldgrad);background-size:220% 100%;padding:19px 30px;border:1px solid #E8D08A;outline:1px solid var(--gold);outline-offset:4px;cursor:pointer;transition:background-position .7s ease,outline-color .3s,outline-offset .3s,box-shadow .3s}
.btn:hover{background-position:100% 0;outline-color:var(--gold2);outline-offset:6px;box-shadow:0 10px 30px rgba(216,192,140,.18)}
.btn.line{background:rgba(0,0,0,.35);color:var(--gold2);border:1px solid var(--gold);outline:1px solid rgba(216,192,140,.45)}
.btn.line:hover{outline-color:var(--gold2);border-color:var(--gold2)}

/* header */
header{position:sticky;top:0;z-index:30;background:rgba(6,6,6,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:80px;gap:20px}
.mark{display:flex;align-items:center;gap:14px;text-decoration:none}
.mark img{width:40px;height:auto}
.mark b{display:block;white-space:nowrap;font:700 16px/1 var(--logo);letter-spacing:.14em}
.mark small{display:block;white-space:nowrap;font:700 9px/1 var(--ui);letter-spacing:.34em;color:var(--green2);margin-top:7px}
nav ul{display:flex;gap:28px;list-style:none;margin:0;padding:0;align-items:center}
nav a{white-space:nowrap;text-decoration:none;font:600 12.5px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--white)}
nav a:not(.btn):hover,nav a[aria-current=page]{color:var(--gold2)}
nav a[aria-current=page]:not(.btn){box-shadow:0 8px 0 -7px var(--gold)}
nav .btn{font-size:12px;padding:14px 18px;outline-offset:3px}
.menu{display:none;background:none;border:1.5px solid var(--gold);color:var(--gold2);font:700 11px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;padding:12px 15px;cursor:pointer}

/* hero */
.hero{position:relative;padding:clamp(56px,8vw,104px) 0 clamp(64px,8vw,110px);text-align:center;overflow:hidden;background:#000}
.hero .bg{position:absolute;inset:0;background:url(img/columbus-skyline.jpg) center 70%/cover;filter:grayscale(1) contrast(1.1);opacity:.32}
.hero .bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 50% 40%,rgba(0,0,0,.35),#000 85%),linear-gradient(180deg,rgba(0,0,0,.2),#000)}
.hero .wrap{position:relative}
.frame{position:relative;display:inline-block;padding:clamp(26px,4vw,46px) clamp(26px,5vw,64px);border:3px solid transparent;border-image:var(--goldgrad) 1;background:rgba(0,0,0,.55)}
.frame:before{content:"";position:absolute;inset:8px;border:1px solid rgba(216,192,140,.6);pointer-events:none}
.frame img{width:min(520px,72vw)}
.hero h1{font:600 clamp(34px,4.2vw,52px)/1.1 var(--display);color:var(--white);margin:46px auto 0;max-width:820px}
.hero p.lead{font:400 clamp(19px,1.8vw,21px)/1.6 var(--body);margin:18px auto 40px;max-width:640px}
.ctas{display:flex;flex-wrap:wrap;gap:22px;justify-content:center}

/* sub-page banner */
.banner{position:relative;padding:clamp(70px,9vw,120px) 0 clamp(56px,7vw,90px);overflow:hidden;border-bottom:1px solid var(--line)}
.banner .bg{position:absolute;inset:0;background-position:center;background-size:cover;filter:grayscale(1);opacity:.28}
.banner .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 20%,rgba(0,0,0,.4))}
.banner .wrap{position:relative}
.banner p{max-width:640px;margin:20px 0 0;font-size:20px}

.trust{background:var(--ink);border-bottom:1px solid var(--line)}
.trust ul{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.trust li{padding:28px 18px;text-align:center;border-right:1px solid var(--hair)}
.trust li:last-child{border-right:0}
.trust b{display:block;font:700 12px/1.4 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold2)}
.trust span{display:block;font-size:15px;margin-top:6px}

section{padding:clamp(76px,9vw,120px) 0}
.center{text-align:center}
.alt{background:var(--ink)}
.intro{max-width:720px;margin:0 auto 56px}
.intro p{margin:20px 0 0}
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split p{margin:0 0 18px}
.split strong{color:var(--white);font-weight:400}
.photo{position:relative}
.photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line)}
.photo.wide img{aspect-ratio:4/3}
.photo:after{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--line);z-index:-1}
.photo figcaption,.cap{font:600 11px/1.5 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-top:14px}
.motto{margin-top:34px;padding:34px 36px;border:1px solid var(--line);background:linear-gradient(160deg,#16120a 0%,#070707 70%);position:relative}
.motto:before{content:"\201C";position:absolute;top:-6px;left:24px;font:600 90px/1 var(--display);color:var(--gold);opacity:.6}
.motto p{font:600 italic clamp(24px,2.4vw,30px)/1.3 var(--display);color:var(--white);margin:0;padding-top:18px}
.points{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:14px 24px}
.points li{font:600 13px/1.3 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--white);display:flex;gap:12px;align-items:center}
.points li:before{content:"";width:9px;height:9px;flex:none;background:var(--goldgrad);transform:rotate(45deg)}

.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:left}
.svc{position:relative;background:linear-gradient(180deg,#121212 0%,#0a0a0a 100%);border:1px solid var(--hair);padding:38px 32px 34px;transition:border-color .35s,transform .35s,box-shadow .35s;display:flex;flex-direction:column}
.svc:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:var(--goldgrad);opacity:0;transition:opacity .35s}
.svc:hover{border-color:var(--line);transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.55)}
.svc:hover:before{opacity:1}
.svc .no{font:600 40px/1 var(--display);margin-bottom:22px}
.svc h3{margin-bottom:12px}
.svc p{margin:0 0 22px;font-size:16.5px;flex:1}
.svc .price{font:700 11px/1 var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--green2);padding-top:18px;border-top:1px solid var(--hair)}
.after{margin-top:56px}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{border:1px solid var(--line);padding:40px 34px;background:linear-gradient(170deg,#141008 0%,#0a0a0a 45%,#050505 100%);text-align:left}
.card .ico{width:44px;height:44px;margin-bottom:24px}
.card h3{margin-bottom:14px}
.card p{margin:0 0 14px;font-size:16.5px}

.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);text-align:left}
.steps div{padding:34px 28px 0 0}
.steps b{display:block;font:600 44px/1 var(--display);margin-bottom:14px}
.steps h3{font-size:22px;margin-bottom:8px}
.steps p{margin:0;font-size:16px}

.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line)}
.gallery .big{grid-column:span 2;grid-row:span 2;display:flex;flex-direction:column}
.gallery .big img{aspect-ratio:auto;flex:1 1 0;min-height:0;height:100%}
.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.strip img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:saturate(.9)}

.cta-band{position:relative;overflow:hidden;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta-band .bg{position:absolute;inset:0;background:url(img/columbus-street.jpg) center/cover;filter:grayscale(1);opacity:.22}
.cta-band .wrap{position:relative}
.cta-band p{max-width:620px;margin:18px auto 36px}

.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.faq-grid .side p{margin:18px 0 30px}
details{border-bottom:1px solid var(--line);padding:24px 0}
details:first-of-type{border-top:1px solid var(--line)}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--white);font:600 22px/1.3 var(--display)}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";flex:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);color:var(--gold2);font:500 20px/1 var(--ui);transition:transform .3s}
details[open] summary:after{transform:rotate(45deg)}
details p{margin:14px 0 0;max-width:640px}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.info{margin-top:34px;border-top:1px solid var(--line)}
.info a,.info div{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--hair);text-decoration:none;color:var(--white);font-size:18px}
.info small{font:700 11px/1.9 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.info a:hover{color:var(--gold2)}
form{border:1px solid var(--line);padding:42px;background:linear-gradient(170deg,#14110a 0%,#0a0a0a 40%);display:grid;grid-template-columns:1fr 1fr;gap:20px}
form .full{grid-column:1/-1}
form h2{grid-column:1/-1;font-size:36px}
form .sub{grid-column:1/-1;margin:-10px 0 4px;font-size:16px}
label{display:block;font:600 11px/1 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--white);margin-bottom:9px}
input,select,textarea{width:100%;font:400 17px/1.4 var(--body);color:var(--white);background:#0d0d0d;border:1px solid #2b2b2b;padding:14px 15px;border-radius:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,192,140,.15)}
select option{background:#111}
textarea{min-height:120px;resize:vertical}
.check{display:flex;gap:12px;align-items:flex-start;font:400 15px/1.5 var(--body);text-transform:none;letter-spacing:0;color:var(--text)}
.check input{width:18px;height:18px;margin-top:3px;flex:none;accent-color:var(--gold)}
.check a{color:var(--gold2)}
.hp{position:absolute;left:-9999px}
form .btn{width:100%}
.note{font-size:14px;color:#8a8a8a;margin:0;text-align:center}

.legal{max-width:780px}
.legal h2{font-size:32px;margin:48px 0 12px}
.legal p,.legal li{font-size:17px}
.legal .date{font:700 12px/1 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}

footer{border-top:1px solid var(--line);background:#030303;font-size:15px}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:64px 28px 40px}
.foot h4{margin:0 0 16px;font:700 11px/1 var(--ui);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 9px}
.foot a{text-decoration:none;color:var(--white)}
.foot a:hover{color:var(--gold2)}
.foot p{margin:14px 0 0;max-width:300px}
.copy{border-top:1px solid var(--hair);padding:22px 28px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px;color:#8a8a8a}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}

@media (min-width:901px) and (max-width:1100px){nav ul{gap:18px} nav a{font-size:11.5px;letter-spacing:.07em}}
@media (max-width:980px){
  .split,.contact-grid,.faq-grid{grid-template-columns:1fr;gap:48px}
  .offer-grid,.cards,.gallery{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .trust ul{grid-template-columns:1fr 1fr}
  .trust li:nth-child(2){border-right:0}
  .trust li:nth-child(-n+2){border-bottom:1px solid var(--hair)}
  .foot{grid-template-columns:1fr 1fr}
  .photo:after{display:none}
}
@media (max-width:900px){
  nav ul{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#070707;padding:8px 28px 28px;border-bottom:1px solid var(--line)}
  nav ul.open{display:flex}
  nav li a{display:block;padding:18px 0;border-bottom:1px solid var(--hair)}
  nav a[aria-current=page]:not(.btn){box-shadow:none}
  nav .btn{margin-top:20px}
  .menu{display:block}
}
@media (max-width:760px){
  .offer-grid,.cards,.gallery,.steps{grid-template-columns:1fr}
  .gallery .big{grid-column:auto;grid-row:auto}
  .gallery .big img{aspect-ratio:1/1;flex:none;height:auto}
  .strip{grid-template-columns:1fr 1fr}
  .points{grid-template-columns:1fr}
  form{grid-template-columns:1fr;padding:28px 22px}
  .mark b{font-size:13px}
  .ctas .btn{width:100%}
  .foot{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}

.eyebrow,.trust b,.photo figcaption,.cap,.info small,.legal .date,.foot h4,nav a[aria-current=page]:not(.btn),.btn.line,.menu{background:var(--goldtext);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn.line{background-color:transparent}
nav a:not(.btn):hover{color:var(--gold2)}
input,select,textarea{color-scheme:dark}

.cal-box{min-height:640px;border:1px solid var(--line);background:#0b0b0b;overflow:auto}
.cal-wait{padding:40px;text-align:center;color:var(--muted,#bbb)}
.photo img,.gallery img,.zoom img{cursor:zoom-in}
.lb{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.92);padding:24px}
.lb.on{display:flex}
.lb img{max-width:min(1100px,100%);max-height:88vh;width:auto;height:auto;border:2px solid var(--gold);box-shadow:0 20px 60px rgba(0,0,0,.6);cursor:default}
.lb button{position:absolute;top:14px;right:18px;background:none;border:1px solid var(--gold);color:var(--gold2);font:400 30px/1 var(--display);width:46px;height:46px;cursor:pointer}
.cal-box:has(iframe) .cal-wait{display:none}

.ba{position:relative;display:block;line-height:0}
.ba .tag{position:absolute;top:12px;font:700 11px/1 var(--ui);font-style:normal;letter-spacing:.22em;text-transform:uppercase;padding:8px 11px;pointer-events:none;background:var(--goldgrad);color:#0B0B0B;border:1px solid #E8D08A;box-shadow:0 4px 14px rgba(0,0,0,.45)}
.ba .tag.l{left:12px}
.ba .tag.r{right:12px}
.ba.split:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1px;background:var(--goldgrad);pointer-events:none}

.steps b.gold-text{background:none;color:var(--green2);-webkit-text-fill-color:var(--green2)}
/* small gold labels: flat champagne so they never read as yellow */
.foot h4,.eyebrow,.photo figcaption,.cap,.info small,.legal .date,.trust b{color:var(--gold)}
