/* ═══════════ TEMPLATE C · SCHEMATIC — modern architectural drafting ═══════════ */
#tpl-schematic{
  --paper:#fafbfc; --card:#ffffff; --ink:#0f1526; --mut:#5a6478;
  --line:#e3e7ef; --line2:#eef1f6; --pen:#2b59ff; --pen2:#1d43d6; --deep:#101f4e; --tint:#eef2ff;
  font-family:'Inter',system-ui,sans-serif; background:var(--paper); color:var(--ink);
  font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased;
}
.tsc .wrap{width:min(1200px,92vw);margin-inline:auto}
#tpl-schematic ::selection{background:var(--pen);color:#fff}
:where(#tpl-schematic a){color:inherit;text-decoration:none}
#tpl-schematic :focus-visible{outline:2px solid var(--pen);outline-offset:3px;border-radius:6px}

/* ---------- type & labels ---------- */
.sc-h1{font:600 clamp(38px,5.6vw,72px)/1.06 'Sora',sans-serif;letter-spacing:-.025em}
.sc-h2{font:600 clamp(27px,3.5vw,44px)/1.12 'Sora',sans-serif;letter-spacing:-.02em;margin-bottom:14px}
.sc-h1 em,.sc-h2 em,.sc-ctah em{font-style:normal;color:var(--pen)}
.sc-lead{font-size:16.5px;line-height:1.7;color:var(--mut);max-width:58ch}
.sc-badge{display:inline-flex;align-items:center;gap:9px;font:600 11px 'Sora',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 15px;margin-bottom:22px}
.sc-badge i{width:7px;height:7px;border-radius:50%;background:var(--pen);animation:scPulse 2.4s infinite}
@keyframes scPulse{0%,100%{opacity:1}50%{opacity:.25}}
.sc-label{font:600 10.5px 'Sora',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--pen);margin-bottom:16px;display:flex;align-items:center;gap:12px}
.sc-label::after{content:"";flex:0 0 34px;height:1px;background:var(--line)}
.sc-label.ctr{justify-content:center}
.sc-label.ctr::before{content:"";flex:0 0 34px;height:1px;background:var(--line)}
.sc-sec{padding:96px 0;position:relative}
.sc-sec.grid-bg{background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:26px 26px}
.sc-sec.white{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sc-ctr{text-align:center}
.sc-ctr .sc-lead{margin-inline:auto}

/* dimension divider */
.sc-dim{position:relative;height:1px;background:var(--line);margin:0}
.sc-dim::before,.sc-dim::after{content:"";position:absolute;top:-5px;width:1px;height:11px;background:var(--line)}
.sc-dim::before{left:0}.sc-dim::after{right:0}
.sc-dim span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:600 10px 'Sora',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);background:var(--paper);padding:0 16px;white-space:nowrap}

/* ---------- nav (single row) ---------- */
.sc-nav{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.sc-nav .wrap{display:flex;align-items:center;gap:30px;height:68px}
.sc-nav.scrolled{box-shadow:0 10px 30px rgba(15,21,38,.06)}
.sc-logo{display:flex;align-items:center;gap:10px;font:700 19px 'Sora',sans-serif;letter-spacing:-.02em}
.sc-logo .mk{width:26px;height:26px;border:2px solid var(--pen);border-radius:6px;position:relative;flex:none}
.sc-logo .mk::before{content:"";position:absolute;inset:5px;border:1.5px solid var(--pen);border-radius:2px;opacity:.55}
.sc-links{display:flex;gap:4px;margin-left:auto;list-style:none;padding:0}
.sc-links>li{position:relative}
.sc-links a{font:500 13.5px 'Inter',sans-serif;color:var(--mut);padding:9px 13px;border-radius:9px;display:inline-flex;align-items:center;gap:6px;transition:color .2s,background .2s}
.sc-links a:hover{color:var(--ink);background:var(--line2)}
.sc-links a.active{color:var(--pen);background:var(--tint)}
.sc-ddm{position:absolute;top:calc(100% + 8px);left:0;min-width:252px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;box-shadow:0 24px 60px rgba(15,21,38,.12)}
.sc-links li.dd:hover .sc-ddm,.sc-links li.dd:focus-within .sc-ddm{opacity:1;visibility:visible;transform:none}
.sc-ddm a{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:9px;width:100%;font-size:14px;color:var(--ink)}
.sc-ddm a i{font:600 10px 'Sora',sans-serif;color:var(--pen);font-style:normal;background:var(--tint);border-radius:6px;padding:4px 7px}
.sc-ddm a:hover{background:var(--line2)}
.sc-navcta{font:600 13px 'Sora',sans-serif;background:var(--pen);color:#fff;border-radius:999px;padding:11px 20px;white-space:nowrap;transition:background .2s,transform .2s,box-shadow .25s}
.sc-navcta:hover{background:var(--pen2);transform:translateY(-1px);box-shadow:0 10px 24px rgba(43,89,255,.3)}
.sc-burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:40px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5.5px}
.sc-burger span{display:block;width:17px;height:2px;border-radius:2px;background:var(--ink);transition:.25s}
.tsc.m-open .sc-burger span:first-child{transform:translateY(3.75px) rotate(45deg)}
.tsc.m-open .sc-burger span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.sc-mobile{display:none;position:fixed;inset:0;top:69px;z-index:89;background:var(--paper);padding:22px;overflow:auto;flex-direction:column;gap:6px}
.sc-mobile.open{display:flex}
.sc-mobile a{font:600 17px 'Sora',sans-serif;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px;display:flex;align-items:center;gap:12px}
.sc-mobile a i{font:600 10px 'Sora',sans-serif;color:var(--pen);font-style:normal}

/* ---------- buttons ---------- */
.sc-btn{display:inline-flex;align-items:center;gap:9px;font:600 13.5px 'Sora',sans-serif;padding:14px 26px;background:var(--pen);color:#fff;border:1px solid var(--pen);border-radius:999px;cursor:pointer;transition:background .2s,transform .2s,box-shadow .25s}
.sc-btn:hover{background:var(--pen2);transform:translateY(-2px);box-shadow:0 14px 30px rgba(43,89,255,.32)}
.sc-btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}
.sc-btn.ghost:hover{border-color:var(--ink);box-shadow:0 12px 26px rgba(15,21,38,.1);background:var(--card)}
.sc-btn.wht{background:#fff;color:var(--deep);border-color:#fff}
.sc-btn.wht:hover{background:#f0f3ff;box-shadow:0 14px 30px rgba(0,0,0,.28)}
.sc-tlink{font:600 14px 'Sora',sans-serif;color:var(--pen);display:inline-flex;align-items:center;gap:8px;transition:gap .2s,color .2s}
.sc-tlink:hover{gap:12px;color:var(--pen2)}

/* ---------- hero ---------- */
.sc-hero{padding:88px 0 96px;position:relative;overflow:hidden;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:26px 26px}
.sc-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 70% at 50% 0%,transparent 40%,var(--paper) 100%);pointer-events:none}
.sc-hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:64px;align-items:center}
.sc-hero .sc-lead{margin-top:20px}
.sc-hcta{display:flex;align-items:center;gap:14px;margin-top:32px;flex-wrap:wrap}
.sc-trust{display:flex;flex-wrap:wrap;gap:8px;margin:34px 0 0;padding:0;list-style:none}
.sc-trust li{font:600 11px 'Sora',sans-serif;letter-spacing:.04em;color:var(--mut);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:7px 13px;display:inline-flex;align-items:center;gap:7px}
.sc-trust li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--pen)}
.sc-photo{position:relative}
.sc-photo .ph{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(15,21,38,.16);border:1px solid var(--line)}
.sc-photo .ph img{display:block;width:100%;aspect-ratio:4/4.4;object-fit:cover}
/* crop-mark corners */
.sc-marks{position:absolute;inset:-13px;pointer-events:none}
.sc-marks i{position:absolute;width:22px;height:22px;border:0 solid var(--pen);opacity:.85}
.sc-marks i:nth-child(1){top:0;left:0;border-top-width:1.5px;border-left-width:1.5px}
.sc-marks i:nth-child(2){top:0;right:0;border-top-width:1.5px;border-right-width:1.5px}
.sc-marks i:nth-child(3){bottom:0;left:0;border-bottom-width:1.5px;border-left-width:1.5px}
.sc-marks i:nth-child(4){bottom:0;right:0;border-bottom-width:1.5px;border-right-width:1.5px}
.sc-photo figcaption{display:flex;justify-content:space-between;gap:14px;margin-top:16px;font:600 10.5px 'Sora',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.sc-sketchcard{position:absolute;left:-34px;bottom:42px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px 10px;box-shadow:0 22px 55px rgba(15,21,38,.16);width:188px}
.sc-sketchcard svg{width:100%;height:auto;display:block;color:var(--pen)}
.sc-sketchcard b{display:block;font:600 10px 'Sora',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-top:9px}
/* self-drawing lines */
.sc-draw path,.sc-draw rect,.sc-draw line,.sc-draw polyline,.sc-draw circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:420;animation:scDraw 2.4s cubic-bezier(.4,0,.2,1) forwards}
.sc-draw *:nth-child(2){animation-delay:.25s}.sc-draw *:nth-child(3){animation-delay:.5s}
.sc-draw *:nth-child(4){animation-delay:.72s}.sc-draw *:nth-child(5){animation-delay:.94s}
.sc-draw *:nth-child(6){animation-delay:1.14s}.sc-draw *:nth-child(7){animation-delay:1.34s}
.sc-draw *:nth-child(8){animation-delay:1.52s}.sc-draw *:nth-child(9){animation-delay:1.7s}
@keyframes scDraw{to{stroke-dashoffset:0}}

/* ---------- why cards ---------- */
.sc-why{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:44px}
.sc-wcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 22px;transition:transform .25s,box-shadow .25s,border-color .25s}
.sc-wcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(15,21,38,.09);border-color:#cdd6ea}
.sc-wcard .ic{width:42px;height:42px;border-radius:11px;background:var(--tint);color:var(--pen);display:grid;place-items:center;margin-bottom:16px}
.sc-wcard .ic svg{width:22px;height:22px}
.sc-wcard h3{font:600 15px 'Sora',sans-serif;margin-bottom:8px;letter-spacing:-.01em}
.sc-wcard p{font-size:13.5px;line-height:1.6;color:var(--mut)}

/* ---------- services cards ---------- */
.sc-svc{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:46px}
.sc-scard{grid-column:span 2;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:26px 26px;background-position:top right}
.sc-scard.wide{grid-column:span 3}
.sc-scard:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(15,21,38,.11);border-color:var(--pen)}
.sc-scard .lin{color:var(--ink);margin-bottom:20px;transition:color .25s}
.sc-scard:hover .lin{color:var(--pen)}
.sc-scard .lin svg{width:64px;height:52px;display:block}
.sc-scard .lin svg *{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sc-scard h3{font:600 19px 'Sora',sans-serif;letter-spacing:-.015em;margin-bottom:9px}
.sc-scard p{font-size:14px;line-height:1.65;color:var(--mut);margin-bottom:20px}
.sc-scard .go{margin-top:auto;font:600 13px 'Sora',sans-serif;color:var(--pen);display:inline-flex;align-items:center;gap:8px;transition:gap .2s}
.sc-scard:hover .go{gap:12px}
.sc-scard .num{position:absolute;top:20px;right:22px;font:700 11px 'Sora',sans-serif;letter-spacing:.1em;color:#c3cbdd}

/* ---------- process sheet ---------- */
.sc-sheet{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:52px 52px 0;box-shadow:0 24px 70px rgba(15,21,38,.07);background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:26px 26px;overflow:hidden;margin-top:46px}
.sc-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:30px;position:relative;padding-bottom:50px}
.sc-steps::before{content:"";position:absolute;top:19px;left:40px;right:40px;border-top:2px dashed #d5dcea}
.sc-step{position:relative;padding-top:56px}
.sc-step i{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;background:var(--card);border:2px solid var(--pen);color:var(--pen);font:700 13px 'Sora',sans-serif;font-style:normal;display:grid;place-items:center;z-index:1}
.sc-step h4{font:600 15px 'Sora',sans-serif;margin-bottom:7px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sc-step h4 small{font:700 9px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;background:var(--pen);color:#fff;border-radius:999px;padding:3.5px 9px}
.sc-step p{font-size:13.5px;line-height:1.65;color:var(--mut)}
.sc-tblock{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin:0 -52px;background:rgba(238,242,255,.5)}
.sc-tblock div{padding:14px 24px;border-right:1px solid var(--line);font:600 9.5px 'Sora',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.sc-tblock div:last-child{border-right:0}
.sc-tblock b{display:block;font:600 12.5px 'Sora',sans-serif;letter-spacing:.02em;text-transform:none;color:var(--ink);margin-top:3px}

/* ---------- stats ---------- */
.sc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sc-stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 26px 22px;position:relative;overflow:hidden}
.sc-stat::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--pen),transparent 70%)}
.sc-stat b{font:600 clamp(34px,3.6vw,50px)/1 'Sora',sans-serif;letter-spacing:-.03em;display:flex;align-items:flex-start;gap:3px}
.sc-stat sup{font:700 15px 'Sora',sans-serif;color:var(--pen);margin-top:6px}
.sc-stat span{display:block;margin-top:9px;font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}

/* ---------- projects ---------- */
.sc-featured{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:46px}
.sc-fig{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .25s,box-shadow .25s}
.sc-fig:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(15,21,38,.13)}
.sc-fig .im{overflow:hidden}
.sc-fig img{display:block;width:100%;height:260px;object-fit:cover;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.sc-fig:hover img{transform:scale(1.05)}
.sc-fig figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px}
.sc-fig figcaption b{font:600 15px 'Sora',sans-serif;letter-spacing:-.01em}
.sc-fig figcaption span{font:600 10px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);background:var(--line2);border-radius:999px;padding:5px 11px;white-space:nowrap}
.sc-morecard{border:1.5px dashed #c9d2e6;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:30px;text-align:center;color:var(--mut);transition:border-color .25s,background .25s,transform .25s}
.sc-morecard b{font:600 17px 'Sora',sans-serif;color:var(--ink)}
.sc-morecard:hover{border-color:var(--pen);background:var(--tint);transform:translateY(-4px)}

/* ---------- quotes ---------- */
.sc-quote{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:44px 48px;max-width:880px;margin:44px auto 0;position:relative;box-shadow:0 20px 55px rgba(15,21,38,.07)}
.sc-quote::before{content:"“";position:absolute;top:6px;left:26px;font:700 90px/1 Georgia,serif;color:var(--tint)}
.sc-quote p{font:500 clamp(18px,2.2vw,23px)/1.55 'Sora',sans-serif;letter-spacing:-.01em;position:relative}
.sc-quote cite{display:flex;align-items:center;gap:12px;margin-top:22px;font-style:normal}
.sc-quote cite .av{width:40px;height:40px;border-radius:50%;background:var(--tint);color:var(--pen);font:700 13px 'Sora',sans-serif;display:grid;place-items:center}
.sc-quote cite b{font:600 14px 'Sora',sans-serif;display:block}
.sc-quote cite span{font-size:12.5px;color:var(--mut);display:block}
.sc-stars{color:#f6b83c;letter-spacing:2px;font-size:13px}
.sc-quotes2{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:880px;margin:18px auto 0}
.sc-q2{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;font-size:14px;color:var(--mut);line-height:1.65}
.sc-q2 b{display:block;margin-top:12px;font:600 12.5px 'Sora',sans-serif;color:var(--ink)}

/* ---------- about ---------- */
.sc-abt{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:66px;align-items:center}
.sc-abt .sc-photo .ph img{aspect-ratio:4/3.4}
.sc-mani{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.sc-mani li{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font:500 14.5px 'Inter',sans-serif}
.sc-mani i{width:22px;height:22px;border-radius:50%;background:var(--tint);color:var(--pen);display:grid;place-items:center;flex:none}
.sc-mani i svg{width:11px;height:11px}

/* ---------- FAQ ---------- */
.sc-faq{max-width:860px;margin:44px auto 0;display:grid;gap:12px}
.sc-fitem{background:var(--card);border:1px solid var(--line);border-radius:14px;transition:border-color .25s,box-shadow .25s}
.sc-fitem.open{border-color:#cdd6ea;box-shadow:0 14px 36px rgba(15,21,38,.07)}
.sc-fq{width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 22px;background:none;border:0;cursor:pointer;text-align:left;color:var(--ink)}
.sc-fq h3{font:600 15.5px 'Sora',sans-serif;letter-spacing:-.01em}
.sc-fq .pm{width:28px;height:28px;border-radius:50%;background:var(--line2);position:relative;flex:none;transition:.3s}
.sc-fq .pm::before,.sc-fq .pm::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--ink);border-radius:2px;transition:.3s}
.sc-fq .pm::before{width:11px;height:1.8px}
.sc-fq .pm::after{width:1.8px;height:11px}
.sc-fitem.open .pm{transform:rotate(45deg);background:var(--pen)}
.sc-fitem.open .pm::before,.sc-fitem.open .pm::after{background:#fff}
.sc-fa{max-height:0;overflow:hidden;transition:max-height .4s ease}
.sc-fa p{padding:0 54px 20px 22px;color:var(--mut);font-size:14.5px;line-height:1.7}

/* ---------- CTA sheet ---------- */
.sc-cta{padding:96px 0}
.sc-ctacardBig{background:var(--deep);border-radius:24px;padding:64px 60px;position:relative;overflow:hidden;color:#fff;box-shadow:0 34px 90px rgba(16,31,78,.35)}
.sc-ctacardBig::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px}
.sc-ctah{font:600 clamp(30px,4.2vw,52px)/1.1 'Sora',sans-serif;letter-spacing:-.02em;max-width:15ch;position:relative}
.sc-ctah em{color:#9db4ff}
.sc-cta-row{display:flex;justify-content:space-between;align-items:flex-end;gap:44px;flex-wrap:wrap;position:relative;margin-top:22px}
.sc-cta-row p{color:rgba(255,255,255,.75);max-width:50ch;font-size:15.5px}
.sc-cta-row .mini{font:600 10.5px 'Sora',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:16px}
.sc-plan{position:absolute;right:46px;top:50%;transform:translateY(-50%);width:300px;color:#7e97f5;opacity:.9;pointer-events:none}
.sc-plan svg{width:100%;height:auto}

/* ---------- contact ---------- */
.sc-contact{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:22px;align-items:start;margin-top:44px}
.sc-form{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:34px;display:grid;grid-template-columns:1fr 1fr;gap:20px 18px;box-shadow:0 20px 55px rgba(15,21,38,.06)}
.sc-field.full{grid-column:1/-1}
.sc-field label{font:600 11px 'Sora',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);display:block;margin-bottom:8px}
.sc-field input,.sc-field select,.sc-field textarea{width:100%;background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:12px 14px;font:500 15px 'Inter',sans-serif;color:var(--ink);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.sc-field textarea{min-height:104px;resize:vertical}
.sc-field input:focus,.sc-field select:focus,.sc-field textarea:focus{outline:0;border-color:var(--pen);box-shadow:0 0 0 3px rgba(43,89,255,.14)}
.sc-field input::placeholder,.sc-field textarea::placeholder{color:#a9b2c4}
.sc-form .sc-btn{grid-column:1/-1;justify-self:start}
.sc-form-note{grid-column:1/-1;font-size:12.5px;color:var(--mut)}
.sc-form-note a{color:var(--pen);text-decoration:underline;text-underline-offset:3px}
.sc-side{display:grid;gap:16px}
.sc-resp{display:inline-flex;gap:9px;align-items:center;font:600 11px 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--pen);background:var(--tint);border-radius:999px;padding:9px 16px;justify-self:start}
.sc-resp i{width:7px;height:7px;border-radius:50%;background:var(--pen);animation:scPulse 2.4s infinite}
.sc-infocard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:8px 20px}
.sc-infocard>div{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line2)}
.sc-infocard>div:last-child{border-bottom:0}
.sc-infocard .ic{width:38px;height:38px;border-radius:10px;background:var(--tint);color:var(--pen);display:grid;place-items:center;flex:none}
.sc-infocard .ic svg{width:17px;height:17px}
.sc-infocard b{font:600 10.5px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);display:block}
.sc-infocard a,.sc-infocard span{font:600 14.5px 'Sora',sans-serif;letter-spacing:-.01em}
.sc-infocard a:hover{color:var(--pen)}
.sc-areas{display:flex;flex-wrap:wrap;gap:7px}
.sc-areas em{font:600 11px 'Sora',sans-serif;font-style:normal;color:var(--mut);border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px}

/* ---------- footer ---------- */
.sc-foot{border-top:1px solid var(--line);background:var(--card);padding:66px 0 0}
.sc-fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:54px}
.sc-fbrand p{font-size:14px;color:var(--mut);max-width:30ch;margin-top:14px;line-height:1.7}
.sc-fgrid h4{font:600 11px 'Sora',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:14px}
.sc-fgrid ul{list-style:none;padding:0;display:grid;gap:10px}
.sc-fgrid ul a{font-size:14px;color:var(--mut)}
.sc-fgrid ul a:hover{color:var(--pen)}
.sc-fbot{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:500 12px 'Inter',sans-serif;color:var(--mut)}

/* ---------- page hero ---------- */
.sc-phero{padding:76px 0 70px;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:26px 26px;position:relative}
.sc-phero::after{content:"";position:absolute;inset:0;background:radial-gradient(90% 80% at 50% 0%,transparent 40%,var(--paper) 100%);pointer-events:none}
.sc-phero .wrap{position:relative;z-index:1}
.sc-phero h1{font:600 clamp(34px,4.9vw,62px)/1.08 'Sora',sans-serif;letter-spacing:-.025em;max-width:21ch}
.sc-phero h1 em{font-style:normal;color:var(--pen)}
.sc-phero .sc-lead{margin-top:18px}
.sc-crumb{font:600 11px 'Sora',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:24px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sc-crumb a:hover{color:var(--pen)}
.sc-crumb i{color:#c3cbdd;font-style:normal}
.sc-crumb b{color:var(--pen)}
.sc-phcta{display:flex;align-items:center;gap:14px;margin-top:30px;flex-wrap:wrap}

/* ---------- service page ---------- */
.sc-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:64px;align-items:center}
.sc-split .sc-photo .ph img{aspect-ratio:4/3.9}
.sc-split h2{margin-bottom:16px}
.sc-split>div>p{font-size:15px;color:var(--mut);margin-bottom:13px;line-height:1.7}
.sc-who{margin-top:24px;display:grid;gap:10px}
.sc-who div{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 16px;font:500 14px 'Inter',sans-serif}
.sc-who i{width:22px;height:22px;border-radius:50%;background:var(--tint);color:var(--pen);display:grid;place-items:center;flex:none;font-style:normal}
.sc-who i svg{width:11px;height:11px}
.sc-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}
.sc-fact{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;position:relative;overflow:hidden}
.sc-fact::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--pen),transparent 70%)}
.sc-fact b{font:600 24px 'Sora',sans-serif;letter-spacing:-.02em;display:block}
.sc-fact span{font:600 10.5px 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-top:6px;display:block}
.sc-check{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:960px;margin:44px auto 0}
.sc-check li{display:flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:13px;padding:14px 18px;font:500 14.5px 'Inter',sans-serif;text-align:left}
.sc-check i{width:24px;height:24px;border-radius:50%;background:var(--tint);color:var(--pen);display:grid;place-items:center;flex:none;font-style:normal}
.sc-check i svg{width:12px;height:12px}
.sc-gal{display:grid;gap:18px;margin-top:46px}
.sc-gal .sc-fig img{height:250px}
.sc-ctacard{margin-top:72px;background:var(--deep);border-radius:20px;padding:38px 42px;display:flex;justify-content:space-between;align-items:center;gap:34px;flex-wrap:wrap;color:#fff;position:relative;overflow:hidden}
.sc-ctacard::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px}
.sc-ctacard h3{font:600 clamp(20px,2.4vw,27px) 'Sora',sans-serif;letter-spacing:-.015em;margin-bottom:6px;position:relative}
.sc-ctacard p{color:rgba(255,255,255,.72);font-size:14px;max-width:52ch;position:relative}
.sc-ctacard .sc-btn{position:relative}

/* ---------- projects / people ---------- */
.sc-filters{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 44px}
.sc-filters button{font:600 12.5px 'Sora',sans-serif;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:10px 18px;cursor:pointer;color:var(--mut);transition:.2s}
.sc-filters button:hover{border-color:var(--pen);color:var(--pen)}
.sc-filters button.on{background:var(--pen);color:#fff;border-color:var(--pen)}
.sc-pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sc-people{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:46px auto 0}
.sc-person{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;text-align:left;transition:transform .25s,box-shadow .25s}
.sc-person:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(15,21,38,.09)}
.sc-person .ini{width:52px;height:52px;border-radius:14px;background:var(--tint);color:var(--pen);font:700 16px 'Sora',sans-serif;display:grid;place-items:center;margin-bottom:16px}
.sc-person b{font:600 17px 'Sora',sans-serif;display:block;letter-spacing:-.01em}
.sc-person span{font:600 10.5px 'Sora',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--pen);display:block;margin:6px 0 10px}
.sc-person p{font-size:13.5px;color:var(--mut);line-height:1.65}

/* ---------- settings thumb ---------- */
.tpl-thumb.sc{background:#fafbfc;border:1px solid #e3e7ef;background-image:linear-gradient(#eef1f6 1px,transparent 1px),linear-gradient(90deg,#eef1f6 1px,transparent 1px);background-size:14px 14px}
.tpl-thumb.sc .tt-word{position:absolute;left:15px;top:28px;font:600 15px/1.25 'Sora',sans-serif;letter-spacing:-.02em;color:#0f1526}
.tpl-thumb.sc .tt-word em{font-style:normal;color:#2b59ff}
.tpl-thumb.sc .tt-chip{position:absolute;left:15px;top:11px;font:600 6.5px 'Sora',sans-serif;letter-spacing:.12em;color:#5a6478;border:1px solid #e3e7ef;border-radius:99px;padding:3px 7px;background:#fff}
.tpl-thumb.sc .tt-btn{position:absolute;left:15px;bottom:16px;width:74px;height:17px;border-radius:99px;background:#2b59ff}
.tpl-thumb.sc .tt-house{position:absolute;right:12px;top:24px;width:74px;height:62px;color:#2b59ff}
.tpl-thumb.sc .tt-house svg{width:100%;height:100%}
.tpl-thumb.sc .tt-house svg *{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .sc-hero .wrap{grid-template-columns:1fr;gap:52px}
  .sc-photo{max-width:520px}
  .sc-sketchcard{left:auto;right:-6px;bottom:-18px}
  .sc-why{grid-template-columns:repeat(2,1fr)}
  .sc-svc{grid-template-columns:1fr 1fr}
  .sc-scard,.sc-scard.wide{grid-column:auto}
  .sc-steps{grid-template-columns:repeat(2,1fr)}
  .sc-steps::before{display:none}
  .sc-tblock{grid-template-columns:1fr 1fr}
  .sc-tblock div:nth-child(2){border-right:0}
  .sc-stats{grid-template-columns:1fr 1fr}
  .sc-featured{grid-template-columns:1fr 1fr}
  .sc-split{grid-template-columns:1fr;gap:44px}
  .sc-contact{grid-template-columns:1fr}
  .sc-abt{grid-template-columns:1fr;gap:44px}
  .sc-pgrid{grid-template-columns:1fr 1fr}
  .sc-people{grid-template-columns:1fr 1fr}
  .sc-check{grid-template-columns:1fr}
  .sc-facts{grid-template-columns:1fr}
  .sc-plan{display:none}
  .sc-gal{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .sc-sec{padding:66px 0}
  .sc-links,.sc-navcta{display:none}
  .sc-burger{display:flex}
  .sc-hero{padding:56px 0 72px}
  .sc-why{grid-template-columns:1fr}
  .sc-svc{grid-template-columns:1fr}
  .sc-steps{grid-template-columns:1fr}
  .sc-sheet{padding:34px 26px 0}
  .sc-tblock{margin:0 -26px}
  .sc-featured{grid-template-columns:1fr}
  .sc-form{grid-template-columns:1fr;padding:24px}
  .sc-quotes2{grid-template-columns:1fr}
  .sc-quote{padding:32px 26px}
  .sc-pgrid{grid-template-columns:1fr}
  .sc-people{grid-template-columns:1fr}
  .sc-fgrid{grid-template-columns:1fr 1fr}
  .sc-ctacardBig{padding:44px 28px}
  .sc-gal{grid-template-columns:1fr!important}
  .sc-stats{grid-template-columns:1fr 1fr;gap:12px}
}
@media(prefers-reduced-motion:reduce){
  .sc-draw path,.sc-draw rect,.sc-draw line,.sc-draw polyline,.sc-draw circle{animation:none;stroke-dashoffset:0}
  .sc-badge i,.sc-resp i{animation:none}
  #tpl-schematic *{transition-duration:.01ms!important}
}

/* ── cinematic layer (schematic) ── */
.tsc .spotlight{--spot:rgba(43,89,255,.1)}
.tsc .sc-btn,.tsc .sc-navcta{translate:var(--tx,0px) var(--ty,0px)}
.sc-hero .ph img{animation:scKb 16s cubic-bezier(.25,.6,.2,1) forwards}
@keyframes scKb{from{transform:scale(1.1)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.sc-hero .ph img{animation:none}}

/* insights skin */
.tsc{--ar-disp:'Sora',sans-serif;--ar-dw:600;--ar-ink:#1a2136;--ar-head:#0f1526;--ar-body:#3a4256;--ar-mut:#5a6478;--ar-line:#e3e7ef;--ar-panel:#ffffff;--ar-acc:#2b59ff;--ar-acc2:#c2482e;--ar-grid:#dde4f2;--ar-onacc:#ffffff}
.tsc .ar-fig{border:1.5px solid #c8d2e6;box-shadow:4px 4px 0 #eef2ff}
.tsc .ar-card{border:1.5px solid var(--ar-line)}
.tsc .ar-card:hover{border-color:var(--ar-acc);box-shadow:6px 6px 0 #eef2ff}
