/* generic inner-page components */
.ph2{border-bottom:1px dashed var(--bronze);padding-inline:2px}
.faq{border-bottom:1px solid var(--stone)}
.faq details{border-top:1px solid var(--stone)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font:400 clamp(20px,2vw,27px)/1.25 var(--serif);transition:color .3s}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--umber)}
.faq summary::after{content:"";flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--stone);background:linear-gradient(var(--ink),var(--ink)) center/12px 1.5px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1.5px 12px no-repeat;transition:transform .4s var(--ease),background-color .3s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--paper-2)}
.faq details p{padding:0 60px 28px 0;color:var(--mute);max-width:70ch;font-size:16.5px}
.checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,4vw,64px)}
.checks li{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--stone);font-size:16.5px}
.checks li svg{flex:none;width:20px;height:20px;color:var(--bronze);margin-top:4px}
.checks li b{font-weight:500}.checks li span{display:block;font-size:14.5px;color:var(--mute);margin-top:3px}
.checks.one{grid-template-columns:1fr}
.term-band{background:var(--paper-2)}
.term-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,3vw,40px)}
.term{background:var(--paper);border:1px solid var(--stone);border-radius:24px;padding:clamp(26px,3.4vw,46px)}
.term small{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--umber)}
.term b{display:block;font:400 clamp(30px,3.6vw,52px)/1.1 var(--serif);margin-block:14px 10px}
.term p{color:var(--mute);font-size:15px}
.steps.s4{grid-template-columns:repeat(4,1fr)}
.dark-band{background:var(--ink);color:var(--paper);position:relative;overflow:hidden;isolation:isolate}
.dark-band::before{content:"";position:absolute;inset:auto auto -50% -10%;width:60vw;height:60vw;background:radial-gradient(closest-side,rgba(201,169,110,.22),transparent);z-index:-1}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.split .img{border-radius:20px;overflow:hidden;aspect-ratio:4/5}.split .img img{width:100%;height:100%;object-fit:cover}
.sv-hero{grid-template-columns:1.05fr 1fr}
.sv-hero .gmain-w{aspect-ratio:4/3}
.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.tile-grid.three{grid-template-columns:repeat(3,1fr)}
.tile{position:relative;overflow:hidden;border-radius:20px;color:var(--paper);min-height:380px;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;isolation:isolate}
.tile>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.1s var(--ease)}
.tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(22,20,15,.2) 0%,rgba(22,20,15,0) 28%,rgba(22,20,15,.9) 100%)}
.tile:hover>img{transform:scale(1.05)}
.tile .n{position:absolute;top:24px;left:28px;font:400 15px var(--serif);letter-spacing:.1em}
.tile .go{position:absolute;top:18px;right:20px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(244,239,231,.5);display:grid;place-items:center;transition:background .4s,transform .4s var(--ease)}
.tile:hover .go{background:var(--paper);color:var(--ink);transform:rotate(-45deg)}
.tile p{font-size:15px;color:rgba(244,239,231,.82);margin-top:8px;max-width:40ch}
.svc-card{display:flex;flex-direction:column;border:1px solid var(--stone);border-radius:20px;overflow:hidden;background:var(--paper);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(22,20,15,.4)}
.svc-card .im{aspect-ratio:16/10;overflow:hidden}.svc-card .im img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.svc-card:hover .im img{transform:scale(1.05)}
.svc-card .bd{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.svc-card h3{font-size:clamp(22px,2vw,28px)}.svc-card p{font-size:14.5px;color:var(--mute);margin-top:8px;flex:1}
.svc-card .row{display:flex;justify-content:space-between;gap:12px;margin-top:20px;padding-top:14px;border-top:1px solid var(--stone);font-size:13.5px;color:var(--mute)}
.svc-card .row b{font-weight:500;color:var(--ink)}
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod{border:1px solid var(--stone);border-radius:20px;overflow:hidden;background:var(--paper);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.prod:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(22,20,15,.4)}
.prod .pi{aspect-ratio:4/3;display:grid;place-items:center;background:repeating-linear-gradient(135deg,var(--paper-2) 0 14px,#E4DCCD 14px 28px);color:var(--umber);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.prod .pb{padding:22px 24px 26px}
.prod h3{font-size:22px}
.prod .sk{height:8px;border-radius:4px;background:var(--stone);margin-top:12px;width:70%}.prod .sk.s{width:45%}
.prod .pr{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:16px;border-top:1px solid var(--stone);font-size:13px;color:var(--mute)}
.prod .pr b{font:400 18px var(--serif);color:var(--ink)}
.lock{display:inline-flex;align-items:center;gap:6px;color:var(--umber)}
.lock svg{width:15px;height:15px}
.sample-note{margin-bottom:26px;padding:14px 20px;border:1px dashed var(--bronze);border-radius:12px;font-size:14px;color:var(--umber);background:var(--paper-2)}
.tips{list-style:none;counter-reset:t;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(24px,4vw,64px)}
.tips li{counter-increment:t;display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--stone);font-size:16.5px}
.tips li::before{content:counter(t,decimal-leading-zero);font:400 15px var(--serif);color:var(--bronze);flex:none;padding-top:3px}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.member .av{aspect-ratio:4/5;border-radius:18px;background-color:var(--paper-2);display:grid;place-items:center;font:400 64px var(--serif);color:var(--bronze);border:1px solid var(--stone);background-image:radial-gradient(circle at 30% 20%,rgba(201,169,110,.25),transparent 60%)}
.member h3{font-size:24px;margin-top:16px}.member small{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--umber);margin-block:6px 10px}.member p{font-size:14.5px;color:var(--mute)}
.member.ph-m .av{border-style:dashed;color:var(--stone)}
.group-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gcard{border:1px solid var(--stone);border-radius:20px;padding:30px;background:var(--paper);transition:border-color .4s,transform .5s var(--ease)}
.gcard:hover{border-color:var(--bronze);transform:translateY(-4px)}
.gcard.me{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.gcard .k{font:400 15px var(--serif);color:var(--bronze)}.gcard h3{margin-block:30px 10px}.gcard p{font-size:14.5px;color:var(--mute)}.gcard.me p{color:rgba(244,239,231,.7)}
.map{border-radius:24px;overflow:hidden;border:1px solid var(--stone);min-height:420px;background:var(--paper-2)}.map iframe{width:100%;height:100%;min-height:420px;border:0;display:block;filter:sepia(.25) saturate(.8)}
.info-list{list-style:none}.info-list li{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px solid var(--stone);font-size:17px;flex-wrap:wrap}
.info-list li:last-child{border-bottom:1px solid var(--stone)}.info-list span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--umber);padding-top:4px}
.cat-card{background:var(--paper-2);border-radius:24px;padding:clamp(26px,3.4vw,46px)}
.light-form{display:grid;gap:18px;margin-top:22px}
.light-form .f input,.light-form .f select{color:var(--ink);border-bottom-color:var(--stone)}.light-form .f label{color:var(--mute)}
.light-form .f input:focus+label,.light-form .f input:not(:placeholder-shown)+label{color:var(--umber)}
.tpl-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tpl{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border:1px solid var(--stone);border-radius:16px;background:var(--paper);transition:border-color .3s,transform .4s var(--ease)}
.tpl:hover{border-color:var(--bronze);transform:translateY(-3px)}.tpl b{font:400 20px var(--serif)}.tpl span{font-size:13px;color:var(--mute)}.tpl small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--umber)}
.contact-two{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,80px);align-items:start}
@media(max-width:1000px){
  .checks,.tips,.term-grid,.split,.sv-hero,.tile-grid,.contact-two{grid-template-columns:1fr}
  .steps.s4{grid-template-columns:1fr}.prod-grid,.tile-grid.three,.group-grid,.tpl-list{grid-template-columns:1fr 1fr}.team-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){.prod-grid,.tile-grid.three,.group-grid,.tpl-list,.team-grid{grid-template-columns:1fr}.faq details p{padding-right:0}}

.ph2{display:inline!important;font-size:inherit!important;color:inherit!important;margin:0!important;letter-spacing:inherit!important;text-transform:none!important}

.ph2.e{display:inline-block!important;min-width:2.8em;height:1.05em;border:1px dashed var(--bronze);border-radius:6px;vertical-align:-3px;margin-inline:3px!important}

.member .av{overflow:hidden;padding:0}
.member .av img{width:100%;height:100%;object-fit:cover;display:block}

a.gcard{display:block;text-decoration:none;color:inherit}

.form-msg{margin:6px 0 0;font-size:14.5px;color:var(--umber)}.form-msg.err{color:#B0452F}
.contact .form-msg{color:var(--sand)}.contact .form-msg.err{color:#F0A08C}
