/*
Theme Name: Termeh Frames & Glass
Theme URI: https://termehframesglass.com
Author: Termeh Frames & Glass
Author URI: https://termehframesglass.com
Description: Custom theme for Termeh Frames & Glass - Dubai custom framing, canvas & fine art printing, glass, mirror and acrylic fabrication. Converted 1:1 from the original static site design.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: termeh-frames-glass
*/


:root{--ink:#201820;--ink2:#171317;--ink3:#100D10;--gray:#6F6868;--gold:#C79A3D;--gold-d:#A87F28;--gold-l:#E3C98C;
--ivory:#FBF9F4;--soft:#F5F2EC;--line:#E7E1D8;--linki:rgba(255,255,255,.14);
--sh:0 34px 80px rgba(23,19,23,.2);--e:cubic-bezier(.22,.9,.24,1);--e2:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.3,1.45,.42,1)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Titillium Web',sans-serif;font-weight:300;color:var(--ink);background:var(--ivory);line-height:1.75;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;background:none;border:none;cursor:pointer;color:inherit}
.disp{font-family:'Cormorant Garamond',serif;font-weight:600;letter-spacing:.01em;line-height:1.08}
.disp em{font-style:italic;font-weight:500;color:var(--gold-d)}
.dk .disp em,.dark .disp em{color:var(--gold-l)}
h1,h2,h3,h4{font-weight:600}
.wrap{max-width:1120px;margin:0 auto;padding:0 28px}
::selection{background:var(--gold);color:#fff}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- veil / page transition ---------- */
#pt{position:fixed;inset:0;z-index:1100;pointer-events:none;background:var(--ink3);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
#pt.show{opacity:1;visibility:visible}
#prog{position:fixed;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,var(--gold-d),var(--gold-l));z-index:1050}

/* ---------- cursor ---------- */
#cur,#curd{position:fixed;top:0;left:0;pointer-events:none;z-index:1040;border-radius:50%;transform:translate(-50%,-50%);display:none}
#cur{width:36px;height:36px;border:1.5px solid rgba(199,154,61,.8);transition:width .32s var(--e),height .32s var(--e),background .32s,border-color .32s;display:none;align-items:center;justify-content:center}
#cur .lab{font-size:.58rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .25s}
#cur.big{width:62px;height:62px;border-color:var(--gold)}
#cur.view{width:74px;height:74px;background:rgba(23,19,23,.82);border-color:transparent}
#cur.view .lab{opacity:1}
#curd{width:5px;height:5px;background:var(--gold)}
@media (pointer:fine){#cur{display:flex}#curd{display:block}}

/* ---------- header ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:900;transition:background .45s var(--e),border-color .45s,backdrop-filter .45s}
header .hrow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;transition:padding .4s var(--e)}
.logo{position:relative;display:block;height:76px;flex:none}
.logo img{height:76px;width:auto;object-fit:contain;transition:opacity .45s ease,height .35s var(--e)}
.logo .lgd{position:absolute;inset:0;opacity:0}
.nav>ul{list-style:none;display:flex;align-items:center;gap:0}
.nav li{position:relative}
.nav a{display:block;padding:10px 13px;font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#fff;position:relative;white-space:nowrap;transition:color .35s}
.nav>ul>li>a::after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--e)}
.nav>ul>li>a:hover::after,.nav>ul>li.act>a::after{transform:scaleX(1)}
.nav>ul>li.act>a{color:var(--gold-l)}
header.solid{background:rgba(251,249,244,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
header.solid .hrow{padding:11px 0}
header.solid .logo img{height:62px}
header.solid .logo .lgl{opacity:0}
header.solid .logo .lgd{opacity:1}
header.solid .nav a{color:var(--ink)}
header.solid .nav>ul>li.act>a{color:var(--gold-d)}
.dd{position:absolute;top:100%;left:0;min-width:224px;background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:var(--sh);opacity:0;visibility:hidden;transform:translateY(14px);transition:all .3s var(--e);z-index:60;padding:4px 0}
.nav li:hover>.dd,.nav li:focus-within>.dd{opacity:1;visibility:visible;transform:translateY(0)}
.dd a{color:var(--ink) !important;font-weight:400;text-transform:none;letter-spacing:.02em;font-size:.9rem;padding:10px 20px;transition:all .22s}
.dd a:hover{color:var(--gold-d) !important;padding-left:28px;background:var(--soft)}
.hd-actions{display:flex;align-items:center;gap:12px}
.icon-link{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;transition:all .3s var(--e)}
header.solid .icon-link{border-color:var(--line);color:var(--ink)}
.icon-link:hover{border-color:var(--gold);background:var(--gold);color:#fff !important;transform:translateY(-3px)}
.icon-link svg{width:16px;height:16px;fill:currentColor}
.call{border:1px solid var(--gold);color:var(--gold-l);font-weight:600;font-size:.78rem;letter-spacing:.12em;padding:11px 20px;transition:all .3s var(--e);white-space:nowrap}
header.solid .call{color:var(--gold-d)}
.call:hover{background:var(--gold);color:#fff !important;box-shadow:0 12px 28px rgba(199,154,61,.4)}
.burger{display:none;width:44px;height:40px;position:relative;z-index:1010}
.burger span,.burger span::before,.burger span::after{content:"";position:absolute;left:10px;right:10px;height:1.5px;background:#fff;transition:all .35s var(--e)}
header.solid .burger span,header.solid .burger span::before,header.solid .burger span::after{background:var(--ink)}
.burger span{top:19px}.burger span::before{top:-6px}.burger span::after{top:6px}
body.mopen .burger span{background:transparent !important}
body.mopen .burger span::before{top:0;transform:rotate(45deg);background:#fff}
body.mopen .burger span::after{top:0;transform:rotate(-45deg);background:#fff}

/* full-screen mobile menu */
#mnav{position:fixed;inset:0;background:radial-gradient(90% 90% at 70% 10%,#1d181d,var(--ink3));z-index:1000;display:flex;flex-direction:column;justify-content:center;padding:90px 34px 40px;opacity:0;visibility:hidden;transition:opacity .45s var(--e),visibility .45s}
body.mopen #mnav{opacity:1;visibility:visible}
#mnav .mlinks{list-style:none}
#mnav .mlinks>li{overflow:hidden}
#mnav .mlinks a{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(1.9rem,7vw,3rem);color:#F2EDE4;display:inline-block;padding:6px 0;transform:translateY(110%);transition:transform .6s var(--e2),color .3s}
body.mopen #mnav .mlinks a{transform:none}
#mnav .mlinks a:hover{color:var(--gold-l)}
#mnav .msub{display:flex;flex-wrap:wrap;gap:8px 20px;margin:26px 0 0;list-style:none}
#mnav .msub a{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:#B8B0A6;padding:6px 0}
#mnav .msub a:hover{color:var(--gold-l)}
#mnav .mfoot{margin-top:auto;display:flex;gap:22px;align-items:center;color:#B8B0A6;font-size:.85rem;flex-wrap:wrap}
#mnav .mfoot a{color:var(--gold-l)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 36px;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;position:relative;transition:color .35s var(--e),transform .25s var(--e),box-shadow .35s;will-change:transform;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;border:1px solid var(--gold);transition:all .35s var(--e);z-index:-2}
.btn::after{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--e2);z-index:-1}
.btn:hover::after{transform:scaleX(1)}
.btn:hover{color:#fff}
.btn-gold{color:#fff}
.btn-gold::after{transform:scaleX(1)}
.btn-gold:hover{box-shadow:0 18px 40px rgba(199,154,61,.45)}
.btn-gold:hover::after{background:var(--gold-d)}
.btn-line{color:#fff}
.btn-line::before{border-color:rgba(255,255,255,.7)}
.btn-ink{color:var(--ink)}
.btn-ink::before{border-color:var(--ink)}
.btn-ink:hover{color:#fff}
.btn-ink:hover::after{background:var(--ink)}
.btn .ar{transition:transform .35s var(--e)}
.btn:hover .ar{transform:translateX(6px)}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink3);overflow:hidden;min-height:100svh}
.slides{position:absolute;inset:0}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;opacity:.42}
.slide.on img{animation:kb 10s ease-out forwards}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.09)}}
.hero-grad{position:absolute;inset:0;background:
 linear-gradient(180deg,rgba(16,13,16,.55),transparent 30%,transparent 60%,rgba(16,13,16,.8)),
 radial-gradient(70% 80% at 50% 46%,transparent 30%,rgba(16,13,16,.6) 100%)}
.hero-sheen{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-sheen::before{content:"";position:absolute;top:-20%;bottom:-20%;width:34%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.05) 45%,rgba(255,255,255,.085) 50%,rgba(255,255,255,.05) 55%,transparent);transform:skewX(-14deg);animation:sheen 9s ease-in-out infinite}
@keyframes sheen{0%,55%{left:-45%}75%,100%{left:125%}}
.hero-copy{position:relative;z-index:4;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;padding:130px 26px 90px}
.hkick{font-size:.72rem;font-weight:600;letter-spacing:.6em;text-transform:uppercase;color:var(--gold-l);animation:rise .9s var(--e2) .35s backwards}
.hero-copy h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.7rem,7.4vw,5.9rem);line-height:1.05;margin:26px 0 10px;letter-spacing:.005em}
.hero-copy h1 .ln{display:block;overflow:hidden;padding-bottom:.18em;margin-bottom:-.12em;padding-right:.1em}
.hero-copy h1 .ln span{display:inline-block;transform:translateY(115%);animation:lift 1.15s var(--e2) forwards}
.hero-copy h1 .ln:nth-child(1) span{animation-delay:.55s}
.hero-copy h1 .ln:nth-child(2) span{animation-delay:.7s}
.hero-copy h1 em{font-style:italic;font-weight:500;color:var(--gold-l)}
@keyframes lift{to{transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.hsub{font-weight:200;font-size:clamp(.94rem,1.7vw,1.12rem);letter-spacing:.34em;text-transform:uppercase;color:#E5DED3;margin:22px 0 40px;animation:rise .9s var(--e2) .95s backwards}
.hero-cta{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;animation:rise .9s var(--e2) 1.1s backwards}
/* signature: frame corners assemble around the headline */
.hframe{position:absolute;inset:0;margin:auto;width:min(78vw,880px);height:min(52vh,430px);pointer-events:none;z-index:3}
.hframe i{position:absolute;width:64px;height:64px;border:2px solid var(--gold);filter:drop-shadow(0 10px 18px rgba(0,0,0,.4))}
.hframe i:nth-child(1){top:0;left:0;border-right:none;border-bottom:none;animation:cTL 1s var(--spring) .2s backwards}
.hframe i:nth-child(2){top:0;right:0;border-left:none;border-bottom:none;animation:cTR 1s var(--spring) .32s backwards}
.hframe i:nth-child(3){bottom:0;left:0;border-right:none;border-top:none;animation:cBL 1s var(--spring) .44s backwards}
.hframe i:nth-child(4){bottom:0;right:0;border-left:none;border-top:none;animation:cBR 1s var(--spring) .56s backwards}
@keyframes cTL{from{opacity:0;transform:translate(-70px,-120px) rotate(-10deg)}to{opacity:1;transform:none}}
@keyframes cTR{from{opacity:0;transform:translate(70px,-120px) rotate(10deg)}to{opacity:1;transform:none}}
@keyframes cBL{from{opacity:0;transform:translate(-70px,120px) rotate(8deg)}to{opacity:1;transform:none}}
@keyframes cBR{from{opacity:0;transform:translate(70px,120px) rotate(-8deg)}to{opacity:1;transform:none}}
.hframe::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(227,201,140,.14);opacity:0;animation:frameGlow 1s ease 1.05s forwards}
@keyframes frameGlow{to{opacity:1}}
.dots{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;gap:12px;z-index:6}
.dots button{width:34px;height:2px;background:rgba(255,255,255,.3);transition:all .4s var(--e)}
.dots button.on{background:var(--gold);width:56px}
.scroll-hint{position:absolute;bottom:26px;right:38px;color:#fff;font-size:.62rem;letter-spacing:.4em;text-transform:uppercase;writing-mode:vertical-rl;opacity:.8;z-index:6}
.scroll-hint::after{content:"";position:absolute;left:50%;top:calc(100% + 12px);width:1px;height:44px;background:linear-gradient(180deg,var(--gold),transparent);animation:drop 2s ease infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}55%{transform:scaleY(1);transform-origin:top}56%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- page hero ---------- */
.phero{position:relative;background:var(--ink3);overflow:hidden;color:#fff}
.phero .bg{position:absolute;inset:-14% 0}
.phero .bg img{width:100%;height:100%;object-fit:cover;opacity:.32;will-change:transform}
.phero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,13,16,.55),rgba(16,13,16,.86))}
.phero .in{position:relative;padding:172px 0 96px;text-align:center;z-index:2}
.phero h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.4rem,5.6vw,4.2rem);margin:16px 0 12px;animation:rise .9s var(--e2) .15s backwards}
.phero .kicker{animation:rise .9s var(--e2) backwards}
.crumb{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;color:#C6BEB3;animation:rise .9s var(--e2) .3s backwards}
.crumb a:hover{color:var(--gold-l)}
.crumb b{color:var(--gold-l);font-weight:600}
.kicker{font-size:.72rem;font-weight:600;letter-spacing:.5em;text-transform:uppercase;color:var(--gold-l)}
.lt .kicker,.kick-d{color:var(--gold-d)}

/* ---------- marquee ---------- */
.mq{background:var(--ink3);color:#CFC7BC;overflow:hidden;padding:17px 0;border-top:1px solid rgba(227,201,140,.18);border-bottom:1px solid rgba(227,201,140,.18)}
.mq-in{display:flex;white-space:nowrap;width:max-content;animation:mq 34s linear infinite}
.mq:hover .mq-in{animation-play-state:paused}
.mq-in span{font-size:.76rem;letter-spacing:.4em;text-transform:uppercase;padding:0 30px;display:inline-flex;align-items:center;gap:30px}
.mq-in span::after{content:"";width:5px;height:5px;background:var(--gold);transform:rotate(45deg)}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
section{padding:92px 0;position:relative}
.soft{background:var(--soft)}
.dark{background:var(--ink2);color:#EDE8E0}
.dark::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 0%,rgba(199,154,61,.08),transparent 60%);pointer-events:none}
section>.wrap{position:relative;z-index:2}
.sec-head{max-width:780px;margin:0 auto 52px;text-align:center}
.sec-head.left{text-align:left;margin:0 0 54px}
h2.t{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2rem,4.2vw,3.2rem);line-height:1.12;margin-top:14px}
.dark h2.t{color:#F4EFE6}
.sec-head p{margin-top:16px;color:var(--gray);font-size:1.03rem}
.dark .sec-head p{color:#BDB5AA}
.rule{width:64px;height:1.5px;background:var(--gold);margin:22px auto 0;position:relative}
.sec-head.left .rule{margin-left:0}
.rule::before,.rule::after{content:"";position:absolute;top:-4px;width:9px;height:9px;border:1.5px solid var(--gold);border-right:none;border-bottom:none}
.rule::before{left:-18px}.rule::after{right:-18px;transform:rotate(180deg)}
.ghost{position:absolute;left:50%;transform:translateX(-50%);font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(6rem,16vw,14rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(199,154,61,.13);white-space:nowrap;pointer-events:none;user-select:none;z-index:0}
.dark .ghost{-webkit-text-stroke-color:rgba(227,201,140,.08)}

/* measurement motif */
.meas{position:relative;display:inline-block;padding:0 6px}
.meas::before{content:"";position:absolute;left:0;right:0;top:-16px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform 1s var(--e2) .3s}
.meas::after{content:"";position:absolute;left:0;top:-21px;width:1px;height:11px;background:var(--gold);opacity:0;transition:opacity .4s .8s}
.meas i{position:absolute;right:0;top:-21px;width:1px;height:11px;background:var(--gold);opacity:0;transition:opacity .4s .9s}
.in .meas::before{transform:scaleX(1)}
.in .meas::after,.in .meas i{opacity:1}

/* reveal variants */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--e2),transform .7s var(--e2)}
.rv-l{opacity:0;transform:translateX(-26px);transition:opacity .7s var(--e2),transform .7s var(--e2)}
.rv-r{opacity:0;transform:translateX(26px);transition:opacity .7s var(--e2),transform .7s var(--e2)}
.rv-sc{opacity:0;transform:scale(.96);transition:opacity .7s var(--e2),transform .7s var(--e2)}
.rv.in,.rv-l.in,.rv-r.in,.rv-sc.in{opacity:1;transform:none}
.d1{transition-delay:.05s}.d2{transition-delay:.1s}.d3{transition-delay:.15s}.d4{transition-delay:.2s}
.d5{transition-delay:.25s}.d6{transition-delay:.3s}.d7{transition-delay:.35s}.d8{transition-delay:.4s}

/* image treatments */
.wipe{position:relative;overflow:hidden}
.wipe::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,var(--ink2),#2a222a);transform:scaleX(1);transform-origin:right;transition:transform .85s var(--e2);z-index:2}
.wipe>img{transform:scale(1.1);transition:transform 1.15s var(--e2)}
.wipe.in::after{transform:scaleX(0)}
.wipe.in>img{transform:scale(1)}
.wipe.in::before{content:"";position:absolute;top:-30%;bottom:-30%;width:30%;left:-40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.22) 50%,transparent);transform:skewX(-16deg);animation:imgSheen 1.1s ease .65s forwards;z-index:3;pointer-events:none}
@keyframes imgSheen{to{left:130%}}
.gframe{position:relative}
.gframe::before{content:"";position:absolute;top:-13px;left:-13px;width:96px;height:96px;border:1.5px solid var(--gold);border-right:none;border-bottom:none;z-index:3}
.gframe::after{content:"";position:absolute;bottom:-13px;right:-13px;width:96px;height:96px;border:1.5px solid var(--gold);border-left:none;border-top:none;z-index:3}

/* reflective hover surface */
.rfl{position:relative;overflow:hidden}
.rfl::after{content:"";position:absolute;inset:0;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:2}
.rfl:hover::after{opacity:1}
.dark .rfl::after,.dk .rfl::after{background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(227,201,140,.14),transparent 65%)}

/* ---------- interactive services (editorial list) ---------- */
.svc{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:start}
.svc-list{list-style:none;border-top:1px solid var(--line)}
.dark .svc-list{border-color:var(--linki)}
.svc-it{display:flex;align-items:baseline;justify-content:space-between;gap:18px;width:100%;text-align:left;padding:22px 6px;border-bottom:1px solid var(--line);transition:padding .35s var(--e),background .35s;position:relative}
.dark .svc-it{border-color:var(--linki)}
.svc-it .nm{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem);transition:color .3s;line-height:1.15}
.svc-it .no{font-size:.7rem;letter-spacing:.3em;color:var(--gold-d);font-weight:600;min-width:34px}
.svc-it .ct{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);white-space:nowrap}
.svc-it::before{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--gold);transition:width .5s var(--e2)}
.svc-it:hover::before,.svc-it.on::before{width:100%}
.svc-it:hover .nm,.svc-it.on .nm{color:var(--gold-d)}
.dark .svc-it:hover .nm,.dark .svc-it.on .nm{color:var(--gold-l)}
.svc-it:hover{padding-left:16px}
.svc-view{position:sticky;top:110px;aspect-ratio:4/4.6;overflow:hidden;background:var(--ink2)}
.svc-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity .6s var(--e),transform 1.1s var(--e)}
.svc-view img.on{opacity:1;transform:scale(1)}
.svc-view .cap{position:absolute;left:0;right:0;bottom:0;padding:18px 22px;background:linear-gradient(180deg,transparent,rgba(16,13,16,.8));color:#fff;font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;z-index:2}

/* ---------- cinema strip ---------- */
.strip6{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.strip6 .item{aspect-ratio:3/4.4;overflow:hidden;cursor:zoom-in;position:relative}
.strip6 .item:nth-child(even){transform:translateY(26px)}
.strip6 img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--e)}
.strip6 .item:hover img{transform:scale(1.1)}
.strip6 .item::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--gold);transition:box-shadow .4s var(--e)}
.strip6 .item:hover::after{box-shadow:inset 0 0 0 2px var(--gold)}

/* ---------- process timeline ---------- */
.proc{position:relative;margin-top:20px}
.proc .bar{position:absolute;top:26px;left:0;right:0;height:1px;background:var(--linki)}
.proc .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold-d),var(--gold-l));transition:width .2s linear}
.psteps{display:grid;grid-template-columns:repeat(6,1fr);gap:22px;list-style:none}
.pstep{position:relative;padding-top:56px}
.pstep .dot{position:absolute;top:18px;left:0;width:17px;height:17px;border:1.5px solid var(--gold);transform:rotate(45deg);background:var(--ink2);transition:background .4s}
.pstep.lit .dot{background:var(--gold)}
.pstep .no{font-size:.66rem;letter-spacing:.3em;color:var(--gold-l);font-weight:600}
.pstep h3{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:600;margin:6px 0 8px;color:#F4EFE6}
.pstep p{font-size:.84rem;color:#B4ACA1;line-height:1.6}

/* ---------- material explorer ---------- */
.mat{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.mat-view{position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff;box-shadow:0 22px 50px rgba(23,19,23,.14);max-width:470px;width:100%;justify-self:center}
.mat-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .55s var(--e),transform 1s var(--e)}
.mat-view img.on{opacity:1;transform:scale(1)}
.mat-view .tag{position:absolute;left:20px;bottom:18px;background:rgba(16,13,16,.85);color:#fff;font-size:.68rem;letter-spacing:.26em;text-transform:uppercase;padding:9px 16px;z-index:2}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.chip{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:11px 18px;border:1px solid var(--line);transition:all .3s var(--e)}
.chip:hover{border-color:var(--gold);color:var(--gold-d);transform:translateY(-2px)}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* ---------- gallery masonry ---------- */
.filters{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-bottom:46px}
.filters button{font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:10px 18px;border:1px solid var(--line);background:#fff;transition:all .3s var(--e)}
.filters button:hover{border-color:var(--gold);color:var(--gold-d);transform:translateY(-2px)}
.filters button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.mas{columns:3;column-gap:18px}
.mas .gitem{margin-bottom:18px;break-inside:avoid;width:100%}
.gitem{overflow:hidden;cursor:zoom-in;position:relative;background:#EEE9E1;display:block}
.gitem img{width:100%;height:auto;transition:transform .8s var(--e)}
.gitem:hover img{transform:scale(1.06)}
.gitem::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 0 var(--gold);transition:box-shadow .4s var(--e);pointer-events:none}
.gitem:hover::after{box-shadow:inset 0 0 0 2px var(--gold)}
.gitem .tag{position:absolute;left:0;bottom:0;background:rgba(16,13,16,.85);color:#fff;font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;padding:6px 13px;transform:translateY(100%);transition:transform .35s var(--e);z-index:2}
.gitem:hover .tag{transform:none}
.gitem.hide{display:none}
.gitem.pop{animation:pop .5s var(--e2) backwards}
@keyframes pop{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ggrid .gitem{aspect-ratio:1/1}
.ggrid .gitem img{height:100%;object-fit:cover}
.gcount{text-align:center;margin-top:30px;color:var(--gray);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}

/* ---------- feature rows ---------- */
.feat{display:grid;grid-template-columns:1fr 1fr;margin-bottom:44px;align-items:stretch}
.feat .ph{position:relative;min-height:400px;overflow:hidden}
.feat .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
.feat:hover .ph img{transform:scale(1.05)}
.feat .tx{padding:64px 62px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:#fff;border:1px solid var(--line)}
.dark .feat .tx{background:rgba(255,255,255,.035);border-color:var(--linki)}
.feat h3{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:600;margin:12px 0 16px}
.feat p{color:var(--gray);margin-bottom:14px}
.dark .feat p{color:#C2BAAF}
.feat ul{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin:8px 0 28px}
.feat li{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:6px 14px;color:#5b5550;transition:all .3s var(--e)}
.dark .feat li{border-color:var(--linki);color:#C2BAAF}
.feat li:hover{border-color:var(--gold);color:var(--gold-d);transform:translateY(-2px)}
.feat.rev .ph{order:2}

/* ---------- stats / counters ---------- */
.stats{display:flex;margin-top:38px}
.stat{flex:1;padding:4px 26px;text-align:left;border-left:1px solid var(--line)}
.stat:first-child{border-left:none;padding-left:0}
.dark .stat{border-color:var(--linki)}
.stat b{display:block;font-family:'Cormorant Garamond',serif;font-size:2.7rem;font-weight:700;color:var(--gold-d);line-height:1.1}
.dark .stat b{color:var(--gold-l)}
.stat span{font-size:.64rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gray)}
.dark .stat span{color:#A69E93}

/* ---------- prev/next, cta, insta ---------- */
.pn{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}
.pn a{padding:40px 32px;display:flex;flex-direction:column;gap:6px;transition:all .35s var(--e);position:relative;overflow:hidden}
.pn a::before{content:"";position:absolute;inset:0;background:var(--soft);transform:scaleY(0);transform-origin:bottom;transition:transform .35s var(--e)}
.pn a:hover::before{transform:scaleY(1)}
.pn a>*{position:relative}
.pn .lbl{font-size:.66rem;letter-spacing:.36em;text-transform:uppercase;color:var(--gold-d);font-weight:600}
.pn .nm{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:600}
.pn a.nx{text-align:right;align-items:flex-end;border-left:1px solid var(--line)}
.cta{background:var(--ink3);color:#fff;text-align:center;padding:110px 30px;position:relative;overflow:hidden}
.cta .ghost{top:8%;-webkit-text-stroke-color:rgba(227,201,140,.09)}
.cta h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2rem,4.6vw,3.4rem);margin-bottom:14px;position:relative}
.cta h2 em{font-style:italic;color:var(--gold-l)}
.cta p{max-width:56ch;margin:0 auto 34px;color:#C6BEB3;position:relative}
.insta{background:linear-gradient(120deg,var(--gold-d),var(--gold) 55%,var(--gold-l));color:#fff;padding:64px 30px;position:relative;overflow:hidden}
.insta .wrap{display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.insta .ig{width:44px;height:44px;flex:none}
.insta .ig svg{width:100%;height:100%;fill:currentColor}
.insta h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(1.5rem,3vw,2.2rem)}
.insta .hand{font-weight:600;letter-spacing:.06em;color:#fff;border-bottom:1px solid rgba(255,255,255,.5);transition:border-color .3s}
.insta .hand:hover{border-color:#fff}
.insta .btn-ink::before{border-color:#fff}
.insta .btn-ink{color:#fff}

/* ---------- footer ---------- */
.fclose{background:var(--ivory);color:var(--ink);text-align:center;padding:92px 30px 78px;position:relative;overflow:hidden;border-top:1px solid var(--line)}
.fclose .big{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(2.6rem,7vw,5.4rem);line-height:1.06}
.fclose .big em{font-style:italic;color:var(--gold)}
.fclose .sub{margin:18px auto 32px;color:var(--gray);max-width:52ch}
footer{background:var(--ink3);color:#A79F97;position:relative;overflow:hidden;border-top:1px solid rgba(227,201,140,.14)}
.f-g{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:52px;padding:76px 0 50px;position:relative;z-index:1}
.f-g img{max-width:236px;margin-bottom:24px}
.f-g p{font-size:.9rem}
.f-g h4{color:#fff;font-size:.76rem;font-weight:600;letter-spacing:.34em;text-transform:uppercase;margin-bottom:22px;position:relative;padding-bottom:12px}
.f-g h4::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:1.5px;background:var(--gold)}
.f-g ul{list-style:none}
.f-g li{padding:5px 0;font-size:.92rem}
.f-g a{transition:all .25s}
.f-g a:hover{color:var(--gold-l);padding-left:6px}
.f-bar{border-top:1px solid rgba(255,255,255,.08);padding:24px 0;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.76rem;letter-spacing:.08em}
.f-bar b{color:#E6DFD5;font-weight:600}
.socialrow{display:flex;gap:13px;margin-top:26px}
.socialrow a{width:46px;height:46px;border:1px solid rgba(255,255,255,.22);display:grid;place-items:center;transition:all .3s var(--e)}
.socialrow a:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-4px)}
.socialrow svg{width:18px;height:18px;fill:currentColor}

/* ---------- lightbox ---------- */
.lb{position:fixed;inset:0;background:rgba(13,10,13,.96);display:grid;place-items:center;padding:34px;z-index:1080;opacity:0;visibility:hidden;transition:all .4s var(--e)}
.lb.on{opacity:1;visibility:visible}
.lb figure{max-width:min(94vw,1200px);transform:scale(.95) translateY(14px);transition:transform .5s var(--e2)}
.lb.on figure{transform:none}
.lb img{max-width:100%;max-height:76vh;object-fit:contain;box-shadow:0 60px 140px rgba(0,0,0,.7)}
.lb figcaption{color:#E8E2D8;text-align:center;margin-top:18px;font-size:.84rem;letter-spacing:.2em;text-transform:uppercase}
.lb .cnt{color:var(--gold-l);font-size:.7rem;letter-spacing:.34em;margin-top:8px;text-align:center}
.lb button{position:absolute;color:#fff;font-size:2.4rem;padding:16px 22px;line-height:1;transition:all .25s}
.lb button:hover{color:var(--gold)}
.lb .x{top:12px;right:16px}.lb .pv{left:12px;top:50%;transform:translateY(-50%)}.lb .nx{right:12px;top:50%;transform:translateY(-50%)}

/* ---------- contact quote builder ---------- */
.qb{border:1px solid var(--line);padding:40px 38px;background:#fff;position:relative}
.qb h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;margin-bottom:8px}
.qb .hint{font-size:.86rem;color:var(--gray);margin-bottom:20px}
.qb .chips{margin:0 0 26px}

#top-btn{position:fixed;right:24px;bottom:24px;width:52px;height:52px;background:var(--ink3);color:var(--gold-l);font-size:1.1rem;opacity:0;visibility:hidden;transition:all .35s var(--e);z-index:850;border-radius:50%;display:grid;place-items:center}
#top-btn svg{position:absolute;inset:0;transform:rotate(-90deg)}
#top-btn circle{fill:none;stroke:var(--gold);stroke-width:2.5;stroke-dasharray:151;stroke-dashoffset:151}
#top-btn.show{opacity:1;visibility:visible}
#top-btn:hover{transform:translateY(-4px)}

.spa-lite .page{display:none}.spa-lite .page.cur{display:block}

@media (max-width:1080px){
 .svc{grid-template-columns:1fr}
 .svc-view{position:relative;top:0;aspect-ratio:4/3;margin-top:34px}
 .mat{grid-template-columns:1fr;gap:44px}
 .mas{columns:2}
 .ggrid{grid-template-columns:repeat(2,1fr)}
 .strip6{grid-template-columns:repeat(3,1fr)}
 .strip6 .item:nth-child(even){transform:none}
 .feat{grid-template-columns:1fr}.feat.rev .ph{order:0}.feat .tx{padding:40px 34px}
 .psteps{grid-template-columns:repeat(2,1fr);gap:34px 26px}
 .proc .bar{display:none}
 .f-g{grid-template-columns:1fr;gap:36px}
 .nav{display:none}
 .burger{display:block}
 #cur,#curd{display:none !important}
 .hframe{display:none}
}
@media (max-width:620px){
 .mas{columns:2;column-gap:10px}.mas .gitem{margin-bottom:10px}
 .ggrid{grid-template-columns:repeat(2,1fr);gap:10px}
 .strip6{grid-template-columns:repeat(2,1fr)}
 .psteps{grid-template-columns:1fr}
 section{padding:76px 0}
 .hd-actions .icon-link{display:none}
 .hero-copy{padding:120px 20px 80px}
}
@media (prefers-reduced-motion: reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation:none !important;transition:none !important}
 .rv,.rv-l,.rv-r,.rv-sc{opacity:1;transform:none}
 .wipe::after,.wipe.in::before{display:none}.wipe>img{transform:none}
 .hero-copy h1 .ln span{transform:none}
 .svc-view img.on,.mat-view img.on{opacity:1;transform:none}
 #pt{display:none}
 #cur,#curd{display:none !important}
}

/* compact closing strip (replaces old cta + instagram bands) */
.endstrip{background:var(--ivory);border-top:1px solid var(--line);padding:66px 0}
.soft+.endstrip,.dark+.endstrip{border-top:none}
.es-in{display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap}
.es-tx h2{font-size:clamp(1.5rem,3vw,2.1rem)}
.es-tx p{color:var(--gray);margin-top:8px;max-width:54ch}
.es-act{display:flex;flex-direction:column;gap:9px;align-items:flex-end}
.es-link{font-size:.87rem;letter-spacing:.03em;color:var(--gold-d);border-bottom:1px solid transparent;transition:border-color .25s,color .25s}
.es-link:hover{border-color:var(--gold-d)}
@media(max-width:760px){.es-act{align-items:flex-start}}
.btn.sm{padding:11px 22px;font-size:.7rem;letter-spacing:.18em}
/* masonry sizes — images fully shown, modest scale */
.mas3{columns:3;column-gap:16px}
.mas4{columns:4;column-gap:14px}
.mas3 .gitem,.mas4 .gitem{margin-bottom:16px}
@media(max-width:1080px){.mas3{columns:2}.mas4{columns:3}}
@media(max-width:620px){.mas3,.mas4{columns:2;column-gap:10px}.mas3 .gitem,.mas4 .gitem{margin-bottom:10px}}
/* expandable service cells */
.tcell.exp{cursor:pointer;padding-right:76px}
.tcell .chev{position:absolute;top:36px;right:30px;width:28px;height:28px;border:1px solid var(--gold);color:var(--gold-d);display:grid;place-items:center;font-size:1.05rem;font-weight:300;line-height:1;transition:transform .4s var(--e),background .3s,color .3s}
.tcell.open .chev{transform:rotate(45deg);background:var(--gold);color:#fff}
.tcell .more{max-height:0;overflow:hidden;transition:max-height .55s var(--e2)}
.tcell.open .more{max-height:360px}
.tcell .more ul{list-style:none;margin:18px 0 18px;border-top:1px dashed var(--line);padding-top:14px}
.tcell .more li{font-size:.86rem;color:#5b5550;padding:5px 0 5px 20px;position:relative}
.tcell .more li::before{content:"";position:absolute;left:2px;top:12px;width:7px;height:7px;border:1.5px solid var(--gold);transform:rotate(45deg)}
.tcell .hintxt{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gray);display:block;margin-top:10px}
.tcell.open .hintxt{display:none}

/* intro split layout (was missing -> giant image bug) */
.about-g{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}
.about-g .ph{max-width:480px;justify-self:end;width:100%}
.about-g .ph img{aspect-ratio:4/3.1;object-fit:cover;width:100%}
@media(max-width:1080px){.about-g{grid-template-columns:1fr;gap:40px}.about-g .ph{max-width:560px;justify-self:start}}
.con-g{display:grid;grid-template-columns:1.05fr .95fr;gap:56px}
@media(max-width:1080px){.con-g{grid-template-columns:1fr !important}}

/* compact framing-services grid */
.cardgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ccard{display:block;background:#fff;border:1px solid var(--line);transition:border-color .35s var(--e),box-shadow .35s var(--e),transform .35s var(--e)}
.ccard:hover{border-color:var(--gold);box-shadow:0 18px 40px rgba(23,19,23,.12);transform:translateY(-4px)}
.ccard .cph{aspect-ratio:5/4;overflow:hidden}
.ccard img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--e)}
.ccard:hover img{transform:scale(1.06)}
.ccap{padding:15px 18px 17px}
.ccap .no{font-size:.6rem;letter-spacing:.3em;color:var(--gold-d);font-weight:600}
.ccap h3{font-size:1.22rem;font-weight:600;margin:3px 0 3px;line-height:1.15}
.ccap .cnt2{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gray);transition:color .3s}
.ccard:hover .cnt2{color:var(--gold-d)}
@media(max-width:1080px){.cardgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cardgrid{grid-template-columns:repeat(2,1fr);gap:10px}.ccap{padding:11px 12px 13px}.ccap h3{font-size:1rem}}

/* product detail pages */
.optrow{list-style:none;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:-24px 0 48px}
.optrow li{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:8px 16px;color:#5b5550;background:#fff}
.dgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.ditem{background:#fff;border:1px solid var(--line);transition:box-shadow .35s var(--e),transform .35s var(--e)}
.ditem:hover{box-shadow:0 16px 36px rgba(23,19,23,.1);transform:translateY(-3px)}
.dph{aspect-ratio:4/3;overflow:hidden;position:relative}
.dph .gitem{position:absolute;inset:0}
.dph .gitem img{width:100%;height:100%;object-fit:cover}
.dph.empty{display:grid;place-items:center;background:var(--soft);color:var(--gray);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;text-align:center;padding:20px}
.dph.empty .ec{position:absolute;width:26px;height:26px;border:1.5px solid var(--gold-l)}
.dph.empty .ec.tl{top:12px;left:12px;border-right:none;border-bottom:none}
.dph.empty .ec.br{bottom:12px;right:12px;border-left:none;border-top:none}
.dtx{padding:16px 20px 18px}
.dtx h3{font-size:1.28rem;margin-bottom:4px}
.dtx p{font-size:.88rem;color:var(--gray);line-height:1.6}
@media(max-width:760px){.dgrid{grid-template-columns:1fr}}
/* hub cells are links now */
a.tcell{display:block;padding-right:76px}
a.tcell:hover .chev{background:var(--gold);color:#fff}

.feat li{padding:0}
.feat li a{display:block;padding:6px 14px}

@media(max-width:620px){.logo,.logo img{height:56px !important}}

@media(max-width:1360px){
 .nav a{padding:10px 8px;font-size:.7rem;letter-spacing:.09em}
 .hd-actions .icon-link{display:none}
 .call{padding:10px 14px;font-size:.72rem}
 .hd-actions{gap:8px}
}

/* ================= MOBILE OPTIMIZATION LAYER ================= */
@media (max-width:1080px){
  /* smoother scrolling page on touch: no fixed-bg tricks, lighter shadows */
  .ditem:hover,.ccard:hover,.fcard:hover{transform:none}
}
@media (max-width:640px){
  html{-webkit-text-size-adjust:100%}
  body{-webkit-tap-highlight-color:transparent}
  /* header fits every phone: compact call button, balanced logo */
  .logo,.logo img{height:48px !important}
  header .hrow{padding:12px 0;gap:10px}
  .call{padding:9px 11px;font-size:.66rem;letter-spacing:.06em}
  /* hero breathing room + no clipped edges */
  .hero-copy{padding:104px 18px 72px}
  .hero-copy h1{font-size:clamp(2.1rem,9.5vw,2.8rem)}
  .hsub{letter-spacing:.22em;font-size:.8rem}
  .hero-cta .btn{padding:14px 22px;font-size:.72rem;letter-spacing:.14em}
  .scroll-hint{display:none}
  .dots{bottom:18px}
  /* page heroes tighter */
  .phero .in{padding:118px 0 58px}
  .phero h1{font-size:clamp(1.9rem,8.5vw,2.5rem)}
  /* sections + headings tuned for small screens */
  section{padding:58px 0}
  .sec-head{margin-bottom:36px}
  h2.t{font-size:clamp(1.55rem,7vw,2rem)}
  .sec-head p{font-size:.94rem}
  .ghost{display:none}
  /* feature rows: shorter images, tighter text */
  .feat{margin-bottom:26px}
  .feat .ph{min-height:230px}
  .feat .tx{padding:26px 20px 30px}
  .feat h3{font-size:1.5rem}
  .feat ul{gap:7px;margin-bottom:20px}
  .feat li a{padding:6px 11px;font-size:.68rem}
  /* process steps single column readable */
  .pstep{padding-top:44px}
  /* detail pages */
  .optrow{gap:7px;margin:-14px 0 30px}
  .optrow li{padding:7px 12px;font-size:.66rem}
  .dtx{padding:13px 15px 15px}
  .dtx h3{font-size:1.12rem}
  .dtx p{font-size:.84rem}
  /* prev/next stack */
  .pn{grid-template-columns:1fr}
  .pn a.nx{border-left:none;border-top:1px solid var(--line);text-align:left;align-items:flex-start}
  .pn a{padding:24px 20px}
  /* end strip + footer */
  .endstrip{padding:46px 0}
  .es-in{gap:20px}
  .fclose{padding:64px 22px 54px}
  .f-g{padding:52px 0 34px}
  .f-g img{max-width:190px}
  /* lightbox: full-bleed friendly */
  .lb{padding:14px}
  .lb figure{max-width:96vw}
  .lb img{max-height:70vh}
  .lb button{font-size:2rem;padding:12px 14px}
  /* larger comfortable touch targets */
  .filters button{padding:10px 14px}
  .mat-view{max-width:100%}
  .chips{gap:8px}
  .chip{padding:10px 14px;font-size:.68rem}
}
@media (max-width:400px){
  .logo,.logo img{height:42px !important}
  .call{font-size:.6rem;padding:8px 9px}
  .cardgrid{grid-template-columns:1fr}
  .mas3,.mas4{columns:1}
}
/* keep phone body still when the menu is open */
body.mopen{overflow:hidden}
/* respect iPhone notches */
@supports(padding:max(0px)){
  @media (max-width:640px){
    .wrap{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
  }
}

.tgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid var(--line)}
.dark .tgrid{border-color:var(--linki)}
.tcell{padding:38px 36px;border-top:1px solid var(--line);position:relative;transition:background .35s}
.tcell:nth-child(-n+2){border-top:none}
.tcell:nth-child(even){border-left:1px solid var(--line)}
.dark .tcell{border-color:var(--linki)}
.tcell:hover{background:rgba(199,154,61,.05)}
.tcell .no{font-size:.64rem;letter-spacing:.34em;color:var(--gold-d);font-weight:600}
.dark .tcell .no{color:var(--gold-l)}
.tcell h3{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:600;margin:8px 0 8px}
.tcell p{font-size:.9rem;color:var(--gray);line-height:1.65}
.dark .tcell p{color:#BDB5AA}
.tcell::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--gold);transition:width .5s var(--e2)}
.tcell:hover::after{width:100%}
@media (max-width:760px){.tgrid{grid-template-columns:1fr}.tcell:nth-child(2){border-top:1px solid var(--line)}.tcell:nth-child(even){border-left:none}}
