:root{
  --ink:#0d1320;--ink2:#1d2738;--muted:#5b6677;--line:#e7e9ee;--bg:#fff;--bg2:#f6f7f9;
  --navy:#0d1a2b;--orange:#f2660a;--orange-d:#d3550a;--orange-soft:#fff1e8;
  --radius:16px;--wrap:1140px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:'Sora',sans-serif;letter-spacing:-.02em;line-height:1.15}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,4vw,28px)}
.narrow{max-width:780px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;font-size:15px;padding:13px 24px;border-radius:999px;cursor:pointer;border:1.5px solid transparent;transition:.18s}
.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{background:var(--orange-d)}
.btn-ghost{background:transparent;border-color:#d8dce3;color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}
.btn-light{background:#fff;color:var(--navy)}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--orange-d)}

header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:clamp(62px,8vw,74px);max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,4vw,28px)}
.brand-logo img{height:clamp(36px,4.6vw,46px);width:auto;display:block}
nav.links{display:flex;gap:28px;align-items:center}
nav.links a{font-size:15px;font-weight:500;color:var(--ink2)}
nav.links a:hover,nav.links a.active{color:var(--orange-d)}
.nav-right{display:flex;align-items:center;gap:16px}
.menu-btn{display:none;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--ink);padding:2px 4px}
.lang{font-size:13px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 11px}.lang b{color:var(--ink)}
.nav-cta{background:var(--orange);color:#fff;font-weight:600;font-size:15px;padding:11px 20px;border-radius:999px}

.page-hero{background:var(--bg2);border-bottom:1px solid var(--line);padding:clamp(40px,6vw,64px) 0 clamp(34px,5vw,56px)}
.page-hero h1{font-size:clamp(30px,4.6vw,46px);font-weight:700;margin:14px 0 16px;max-width:760px}
.page-hero p{font-size:19px;color:var(--ink2);max-width:640px}

.prose{padding:clamp(40px,6vw,64px) 0}
.prose section{margin-bottom:clamp(32px,5vw,44px)}
.prose section:last-child{margin-bottom:0}
.prose h2{font-size:clamp(24px,3vw,30px);font-weight:600;margin-bottom:14px}
.prose p{font-size:17px;color:var(--ink2);margin-bottom:14px}
.prose ul{list-style:none;margin:8px 0 14px}
.prose li{position:relative;padding-left:26px;font-size:16.5px;color:var(--ink2);margin-bottom:9px}
.prose li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--orange)}

.cta{background:var(--navy);color:#eaf0f7;border-radius:var(--radius);padding:clamp(30px,5vw,46px);text-align:center;margin:10px 0 0}
.cta h2{color:#fff;font-size:clamp(24px,3vw,30px);font-weight:600;margin-bottom:10px}
.cta p{color:#aebccd;font-size:17px;max-width:520px;margin:0 auto 24px}
.cta .row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

footer{background:var(--ink);color:#aeb6c2;padding:54px 0 30px;font-size:14.5px;margin-top:64px}
footer .brand-logo img{height:32px;margin-bottom:12px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08)}
footer h4{font-family:'Sora';color:#fff;font-size:15px;font-weight:600;margin-bottom:13px}
footer a{display:block;margin-bottom:8px;color:#aeb6c2}footer a:hover{color:var(--orange)}
.foot-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:#7b8595;padding-top:20px}

@media(max-width:1024px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .menu-btn{display:block}.lang{display:none}
  nav.links{position:absolute;top:74px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:6px 24px 14px;display:none}
  header.open nav.links{display:flex}
  nav.links a{padding:13px 2px;border-bottom:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr;gap:22px}
}

.ogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.ocard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.2s}
.ocard:hover{border-color:#cdd2db;transform:translateY(-3px);box-shadow:0 22px 40px -30px rgba(13,19,32,.4)}
.ocard h3{font-size:20px;font-weight:600;margin-bottom:8px}
.ocard p{font-size:15px;color:var(--muted);flex:1;margin-bottom:14px}
.ocard .more{font-size:14px;font-weight:600;color:var(--orange-d)}
@media(max-width:1024px){.ogrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ogrid{grid-template-columns:1fr}}

.hero-cols{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,48px);align-items:center}
.hero-cols h1,.hero-cols p{max-width:none}
.hero-img{display:flex;justify-content:center}
.hero-img img{width:100%;max-width:420px;height:auto}
.h2row{display:flex;align-items:flex-start;gap:13px;margin-bottom:14px}
.h2ic{flex-shrink:0;width:40px;height:40px;border-radius:11px;background:var(--orange-soft);color:var(--orange-d);display:flex;align-items:center;justify-content:center;font-size:21px;margin-top:1px}
.prose .h2row h2{margin-bottom:0}
.modelfig{margin:4px 0 30px;text-align:center}
.modelfig img{width:100%;border:1px solid var(--line);border-radius:var(--radius)}
.modelfig figcaption{font-size:13.5px;color:var(--muted);margin-top:10px}
.othumb{height:120px;background:var(--bg2);border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;overflow:hidden}
.othumb img{max-width:78%;max-height:88%}
@media(max-width:760px){.hero-cols{grid-template-columns:1fr}.hero-img{order:-1}.hero-img img{max-width:260px}}

.ocard.feat{border:2px solid var(--orange)}
.ocard-badge{align-self:flex-start;background:var(--orange-soft);color:var(--orange-d);font-size:12px;font-weight:600;padding:3px 11px;border-radius:999px;margin-bottom:9px}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,48px);align-items:start}
.cinfo .citem{margin-bottom:20px}
.cinfo .citem span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-weight:600}
.cinfo a{color:var(--orange-d)}
.cform{display:flex;flex-direction:column;gap:12px;background:var(--bg2);border-radius:var(--radius);padding:clamp(22px,4vw,32px)}
.cform input,.cform textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:11px;font-size:15px;font-family:'Inter';background:#fff}
.cform input:focus,.cform textarea:focus{outline:none;border-color:var(--orange)}
.cform textarea{min-height:140px;resize:vertical}
.csuccess{display:none;background:#e9f7ef;color:#0f6e56;border-radius:12px;padding:18px;font-weight:500;margin-bottom:20px}
.bloglist{display:flex;flex-direction:column;gap:18px;max-width:760px}
.postcard{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.2s}
.postcard:hover{border-color:#cdd2db;transform:translateY(-3px);box-shadow:0 22px 40px -30px rgba(13,19,32,.4)}
.postcard h3{font-size:22px;font-weight:600;margin:6px 0 8px}
.postcard p{color:var(--muted);font-size:15.5px;margin-bottom:10px}
.postcard .more{color:var(--orange-d);font-weight:600;font-size:14px}
@media(max-width:760px){.contact-grid{grid-template-columns:1fr}}
.dashgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 4px}
.dashfig{margin:0}
.dashfig img{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;display:block}
.dashcap{font-size:13px;color:var(--muted);margin-top:10px;font-style:italic}
@media(max-width:760px){.dashgrid{grid-template-columns:1fr}}

.casefeat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,40px);align-items:center;background:var(--bg2);border-radius:var(--radius);padding:clamp(24px,4vw,36px)}
.caselabel{display:inline-block;background:var(--orange-soft);color:var(--orange-d);font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;margin-bottom:12px}
.caseinfo h2{font-size:clamp(22px,3vw,28px);font-weight:600;margin-bottom:12px}
.caseinfo p{font-size:16.5px;color:var(--ink2)}
.videoph{position:relative;aspect-ratio:16/9;background:var(--navy);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#aebccd;font-size:13px}
.playbtn{width:60px;height:60px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;padding-left:4px}
@media(max-width:760px){.casefeat{grid-template-columns:1fr}}

.awards{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.awardbadge{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:600;color:var(--ink2)}
.awardbadge i{color:var(--orange-d);font-size:16px}
.videowrap{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:#000}
.videowrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.ytfacade{background-size:cover;background-position:center;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ytplay{width:64px;height:64px;border-radius:50%;background:var(--orange);color:#fff;border:0;font-size:24px;padding-left:5px;cursor:pointer}
.ytfacade:hover .ytplay{transform:scale(1.06)}

.webgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.webcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.webcard .videowrap{border-radius:0}
.webcard .eyebrow{display:block;padding:18px 22px 0}
.webcard h3{font-size:19px;font-weight:600;margin:6px 0 8px;padding:0 22px}
.webcard p{font-size:15px;color:var(--muted);padding:0 22px;flex:1}
.webcard a.more{display:inline-block;padding:14px 22px 22px;color:var(--orange-d);font-weight:600;font-size:14px}
.webph{background:var(--navy);display:flex;align-items:center;justify-content:center}
.phinner{display:flex;flex-direction:column;align-items:center;gap:10px;color:#aebccd;font-size:13px}
@media(max-width:760px){.webgrid{grid-template-columns:1fr}}

.calbanner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;margin-bottom:24px}
.calbanner span{font-size:16px;color:var(--ink2)}
@media(max-width:600px){.calbanner{flex-direction:column;align-items:flex-start}}
.scanic{width:64px;height:64px;border-radius:16px;background:var(--orange-soft);display:flex;align-items:center;justify-content:center;font-size:34px;line-height:1;margin-bottom:12px}
.chkbar{height:10px;background:var(--line);border-radius:999px;overflow:hidden;margin-bottom:10px}
.chkfill{height:100%;width:0;background:var(--orange);transition:.3s}
.chkcount{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:15px;margin-bottom:28px}
.chkgroup{margin-bottom:26px}
.chkgroup h2{font-size:21px;font-weight:600;margin-bottom:10px}
.chkitem{display:flex;gap:12px;align-items:flex-start;padding:11px 2px;border-bottom:1px solid var(--line);cursor:pointer;font-size:16px;color:var(--ink2)}
.chkitem input{margin-top:3px;width:18px;height:18px;accent-color:var(--orange);flex:0 0 auto;cursor:pointer}
.chkitem input:checked~span{color:var(--muted);text-decoration:line-through}
.chkcta{margin-top:34px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.chkcta h3{font-size:20px;font-weight:600;margin-bottom:8px}
.chkcta p{color:var(--muted);margin-bottom:16px}
@media print{header,footer,.page-hero,.chkbar,.chkcount,.chkcta{display:none!important}.chkitem{break-inside:avoid;border-color:#ccc}}
.hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* ---- E-E-A-T: byline, auteursbox, team ---- */
.byavatar,.abavatar,.tmavatar{display:inline-flex;align-items:center;justify-content:center;background:var(--navy);color:var(--orange);font-family:'Sora',sans-serif;font-weight:700;letter-spacing:.5px;flex:none}
.byline{display:flex;align-items:center;gap:12px;margin:-6px 0 22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.byavatar{width:42px;height:42px;border-radius:50%;font-size:13px}
.bymeta{display:flex;flex-direction:column;line-height:1.35}
.bymeta b{font-size:15px}.bymeta b a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--orange)}
.bymeta span{font-size:13.5px;color:var(--muted)}
.authorbox{display:flex;gap:18px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:36px}
.abavatar{width:56px;height:56px;border-radius:50%;font-size:16px}
.abmeta b{font-size:17px}
.abmeta .abrole{display:block;font-size:13.5px;color:var(--muted);margin:2px 0 8px}
.abmeta p{font-size:14.5px;color:var(--ink2);margin:0 0 10px}
.ablinks{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}
.ablinks a{color:var(--orange);text-decoration:none;font-weight:600}
.ablinks a i{margin-right:3px}
.teamgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.teamcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;text-align:center}
.teamcard .tmavatar{width:76px;height:76px;border-radius:50%;font-size:22px;margin:0 auto 14px}
.teamcard h3{font-size:22px;font-weight:600;margin:0}
.teamcard .tmrole{display:block;font-size:14px;color:var(--orange);font-weight:600;margin:4px 0 12px}
.teamcard p{font-size:15px;color:var(--ink2);text-align:left;margin:0 0 16px}
.tmli{display:inline-flex;align-items:center;gap:5px;color:var(--navy);text-decoration:none;font-weight:600;font-size:14px;border:1px solid var(--line);border-radius:999px;padding:7px 16px}
.tmli:hover{border-color:#cdd2db}
@media(max-width:760px){.teamgrid{grid-template-columns:1fr}.authorbox{flex-direction:column;gap:12px}}
