:root{--ivory:#f4eee5;--paper:#ebe2d6;--plum:#2b2150;--navy:#14163a;--gold:#b48d57;--ink:#2a2438;--muted:#6d6578;--sand:#e7d3b5;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--ivory:#f4eee5;--ink:#2a2438}}
html{scroll-padding-top:env(safe-area-inset-top,0px);scroll-behavior:smooth}
*{box-sizing:border-box;margin:0}
body{background:var(--ivory);color:var(--ink);font-family:"Vazirmatn",Tahoma,sans-serif;line-height:1.9;overflow-x:hidden}
.serif{font-family:"Vazirmatn",Tahoma,sans-serif}
a{color:inherit;text-decoration:none}
nav{position:fixed;top:env(safe-area-inset-top,0px);inset-inline:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;transition:.4s}
nav.solid{background:rgba(244,238,229,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(180,141,87,.3);padding-block:10px}
.logo{font-family:"Vazirmatn",Tahoma,sans-serif;letter-spacing:.35em;font-size:20px;color:var(--plum)}
.links{display:flex;gap:30px;font-size:13px}
.links a{padding:4px 0;border:0;border-bottom:1px solid transparent;transition:.3s;color:var(--ink)}
.links a:hover,.links a.on{border-bottom-color:var(--gold);color:var(--plum)}
.burger{display:none;background:none;border:0;font-size:26px;color:var(--plum);cursor:pointer}
.view{display:none}.view.on{display:block;animation:fade .8s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
/* hero */
.hero{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;background:radial-gradient(ellipse at 30% 40%,#fff8ec,var(--ivory) 60%,var(--paper))}
.arch{position:absolute;left:0;top:0;bottom:0;width:30%;background:linear-gradient(#f9d9b6,#f7e8d0 40%,#cbd5c4 75%,#8e9f86);border-radius:0 0 0 0;clip-path:ellipse(95% 70% at 0% 40%);opacity:.9}
.arch::after{content:"";position:absolute;inset:auto 0 18% 0;height:22%;background:linear-gradient(120deg,#8aa090,#a9b8a4);clip-path:polygon(0 70%,25% 30%,50% 60%,75% 20%,100% 50%,100% 100%,0 100%);opacity:.7}
.curtain{position:absolute;right:0;top:0;bottom:0;width:20%;background:linear-gradient(160deg,#3a2d6a,var(--navy));box-shadow:-30px 0 60px rgba(20,22,58,.3)}
.compass{position:absolute;right:-6%;top:22%;width:min(32vw,360px);opacity:.55;animation:spin 90s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.olive{position:absolute;left:2%;bottom:14%;width:min(18vw,200px);transform-origin:bottom center;animation:sway 7s ease-in-out infinite}
@keyframes sway{50%{transform:rotate(3deg)}}
.books{position:absolute;left:5%;bottom:5%;width:min(22vw,250px)}
.flask{position:absolute;right:23%;bottom:6%;width:min(9vw,100px);animation:float 6s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}
.hero-in{position:relative;z-index:2;padding:110px 20px 60px;max-width:620px}
.hero h1{font-family:"Vazirmatn",Tahoma,sans-serif;font-weight:500;font-size:clamp(56px,10vw,118px);letter-spacing:.3em;margin-inline-end:-.3em;color:var(--plum);line-height:1.1}
.hero h1 span{display:inline-block;opacity:0;transform:translateY(24px);animation:rise 1s forwards}
@keyframes rise{to{opacity:1;transform:none}}
.orn{display:flex;align-items:center;gap:14px;justify-content:center;margin:22px auto;color:var(--gold);max-width:340px}
.orn i{flex:1;height:1px;background:var(--gold);opacity:.6}
.tag{font-size:clamp(17px,2.4vw,24px);color:var(--plum);font-weight:500;line-height:2}
.tag em{color:var(--gold);font-style:normal}
.sub{margin-top:18px;font-size:13px;color:var(--muted);letter-spacing:.05em}
.btn{display:inline-block;margin-top:10px;background:var(--plum);color:#fff;padding:13px 38px;font-size:13px;border:1px solid var(--plum);cursor:pointer;font-family:inherit;transition:.4s;position:relative;overflow:hidden}
.btn:hover{background:transparent;color:var(--plum)}
.btn.ghost{background:transparent;color:var(--gold);border-color:var(--gold)}.btn.ghost:hover{background:var(--gold);color:#fff}
.scroll{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);font-size:11px;color:var(--muted);z-index:2;animation:float 2.4s ease-in-out infinite}
/* pillars */
.pillars{background:linear-gradient(120deg,#3a2d63,var(--navy));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:56px 5vw;color:#e8dfcf;text-align:center;position:relative;overflow:hidden;direction:rtl}
.pillar{padding:6px 20px;border-inline-start:1px solid rgba(180,141,87,.35);transition:.4s}
.pillar:first-child{border:0}
.pillar:hover{transform:translateY(-6px)}
.pillar svg{width:46px;height:46px;stroke:var(--sand);fill:none;stroke-width:1;margin-bottom:12px;transition:.6s}
.pillar:hover svg{transform:rotate(12deg) scale(1.12);stroke:#fff}
.pillar h3{font-weight:500;font-size:16px;color:var(--sand);letter-spacing:.05em}
.pillar p{font-size:12.5px;opacity:.85;margin:8px 0 14px}
.pillar a{font-size:11.5px;color:var(--sand);border-bottom:1px solid var(--gold);padding-bottom:2px}
/* about strip */
.split{display:grid;grid-template-columns:1fr 1fr;min-height:430px}
.split .txt{background:var(--ivory);padding:60px 7vw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.eyebrow{font-size:11px;color:var(--muted);margin-bottom:14px}
.split h2,.h2{font-size:clamp(26px,3.4vw,38px);font-weight:500;color:var(--plum);line-height:1.6}
.split p{margin:14px 0 8px;font-size:14px;color:var(--muted);max-width:430px}
.scene{position:relative;background:linear-gradient(135deg,#d8c3a8,#efe3d1 55%,#cdb89c);overflow:hidden;min-height:340px}
.scene svg{position:absolute;inset:0;width:100%;height:100%}
.flame{transform-origin:50% 100%;animation:flick 1.6s ease-in-out infinite}
@keyframes flick{0%,100%{transform:scale(1,1)}30%{transform:scale(.9,1.12) rotate(2deg)}60%{transform:scale(1.05,.95) rotate(-2deg)}}
/* quote */
.quote{background:linear-gradient(120deg,#000000,var(--navy));color:#efe6d6;text-align:center;padding:90px 6vw;position:relative;overflow:hidden}
.quote p{position:relative;z-index:1;font-size:clamp(16px,2.2vw,20px);line-height:2;max-width:820px;margin:auto}
.star{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;animation:tw 4s ease-in-out infinite}
@keyframes tw{50%{opacity:.1;transform:scale(2.2)}}
footer{background:var(--navy);color:#b9b2c9;text-align:center;padding:34px 20px;font-size:12px;border-top:1px solid rgba(180,141,87,.25)}
footer .logo{color:var(--sand);display:block;margin-bottom:8px}
/* inner pages */
.page-hero{padding:150px 6vw 70px;text-align:center;background:radial-gradient(ellipse at 50% 0,#fff8ec,var(--ivory))}
.page-hero h1{font-size:clamp(32px,5vw,54px);font-weight:500;color:var(--plum)}
.page-hero p{max-width:560px;margin:10px auto 0;color:var(--muted);font-size:14px}
.wrap{max-width:1080px;margin:auto;padding:70px 6vw}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.val{border-top:1px solid var(--gold);padding-top:18px}
.val h3{color:var(--plum);font-weight:500;font-size:18px}.val p{font-size:13.5px;color:var(--muted)}
.story{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center}
.story p{color:var(--muted);font-size:14.5px;margin-top:14px}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.member{text-align:center}
.avatar{aspect-ratio:3/4;background:linear-gradient(160deg,var(--plum),var(--navy));position:relative;overflow:hidden;margin-bottom:14px;transition:.5s}
.avatar::before{content:"";position:absolute;left:50%;top:26%;width:34%;aspect-ratio:1;border-radius:50%;background:rgba(231,211,181,.5);transform:translateX(-50%)}
.avatar::after{content:"";position:absolute;left:50%;top:58%;width:70%;height:60%;border-radius:50% 50% 0 0;background:rgba(231,211,181,.35);transform:translateX(-50%)}
.member:hover .avatar{transform:translateY(-6px)}
.member h4{font-weight:500;color:var(--plum)}.member span{font-size:12.5px;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:var(--sand);text-align:center;padding:46px 6vw}
.stats b{display:block;font-family:"Vazirmatn",Tahoma,sans-serif;font-size:46px;font-weight:400}
.stats span{font-size:12.5px;color:#b9b2c9}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}
.info div{padding:18px 0;border-bottom:1px solid rgba(180,141,87,.35)}
.info small{color:var(--gold);font-size:12px;display:block}
.fld{display:block;margin-bottom:18px}
.fld span{font-size:12.5px;color:var(--muted)}
.fld input,.fld select,.fld textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--gold);padding:10px 2px;font:inherit;color:var(--ink);outline:0;transition:.3s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--plum);box-shadow:0 2px 0 var(--plum)}
.ok{display:none;margin-top:16px;padding:14px;background:var(--paper);border-inline-start:3px solid var(--gold);font-size:13.5px}
.map{margin-top:50px;height:230px;background:repeating-linear-gradient(45deg,#e8ddcc,#e8ddcc 14px,#efe5d5 14px,#efe5d5 28px);display:flex;align-items:center;justify-content:center;color:var(--plum);position:relative;border:1px solid var(--gold)}
.pin{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--plum);box-shadow:0 0 0 0 rgba(43,33,80,.5);animation:ping 2s infinite;top:42%;left:50%}
@keyframes ping{to{box-shadow:0 0 0 26px rgba(43,33,80,0)}}
.rv{opacity:0;transform:translateY(26px);transition:1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:860px){
.links{position:fixed;inset:0;background:var(--ivory);flex-direction:column;justify-content:center;align-items:center;font-size:20px;transform:translateX(100%);transition:.5s;gap:26px}
.links.open{transform:none}.burger{display:block;z-index:30}
.pillars{grid-template-columns:1fr 1fr;gap:30px}.pillar{border:0}
.split,.story,.contact{grid-template-columns:1fr}.grid3,.team{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr;gap:20px}
.arch,.curtain{width:14%}.compass{display:none}.books{width:34vw}.olive{width:24vw}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.hero h1 span{opacity:1;transform:none}}

.links a{font-size:12px;letter-spacing:.06em}
.hero{min-height:max(100vh,720px);background:radial-gradient(ellipse at 38% 35%,#fffaf0,#f5eee3 55%,#ebe1d2)}
.floor{position:absolute;inset:auto 0 0 0;height:11%;background:linear-gradient(#f0e8db,#ddd2c0);box-shadow:0 -1px 0 rgba(180,141,87,.3)}
.win{position:absolute;left:5%;top:0;width:19%;height:90%;border-radius:48% 48% 0 0/15% 15% 0 0;overflow:hidden;box-shadow:inset 0 0 50px rgba(255,255,255,.7),0 0 0 16px #eee4d4}
.win svg{width:100%;height:100%}
.pil{position:absolute;left:25.5%;top:0;bottom:11%;width:5%;background:linear-gradient(90deg,#e0d5c3,#f8f2e8,#dbcfbb)}
.tree{position:absolute;left:0;bottom:9%;width:min(19vw,220px);z-index:1}
.books{position:absolute;left:6%;bottom:9.5%;width:min(26vw,270px);z-index:1}
.curtain{position:absolute;right:11%;top:0;bottom:11%;width:16%;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 6px,rgba(0,0,0,.09) 6px 14px),linear-gradient(170deg,#3f3274,#1b1a46 75%);box-shadow:-16px 0 40px rgba(20,22,58,.25)}
.stone{position:absolute;right:0;top:0;bottom:11%;width:11%;background:linear-gradient(90deg,#d4c8b3,#f0e7d7 45%,#cdbfa8)}
.stone::before{content:"";position:absolute;left:-6%;right:-6%;top:16%;height:5%;background:#ddd0ba}
.compass{position:absolute;width:24vw;max-width:300px;left:calc(81% - 12vw);top:25%;opacity:.7;animation:spin 120s linear infinite;z-index:1}
.flask{position:absolute;right:22%;bottom:9.5%;width:min(8vw,92px);z-index:1;animation:none}
.hero-in{z-index:2;padding-top:130px}
.sym{width:38px;display:block;margin:0 auto 14px}
.hero h1{font-size:0;letter-spacing:0;margin:0}
.hero h1 b{display:block;font-weight:500;letter-spacing:.34em;margin-inline-end:-.34em}
.hero h1 .l1{font-size:clamp(50px,8.4vw,100px);line-height:1.15}
.hero h1 .l2{font-size:clamp(26px,4.8vw,58px);line-height:1.3}
.hero h1 b span{display:inline-block;opacity:0;transform:translateY(24px);animation:rise 1s forwards}
.orn{font-size:9px}
.tag{font-size:clamp(15px,1.9vw,21px);letter-spacing:.04em}
.tag em{color:var(--gold)}
.sub{font-size:11.5px;letter-spacing:.12em}
.btn{padding:12px 34px;font-size:12px;letter-spacing:.12em}
.pillars{background:radial-gradient(ellipse at 15% 0,rgba(130,100,185,.35),transparent 55%),linear-gradient(110deg,#011014,#051418 65%,#14163a);padding:20px 3vw}
.pillar{padding:6px 18px}
.pillar svg.ic{width:46px;height:46px;stroke:#cdb086;fill:none;stroke-width:.8;stroke-linecap:round;margin-bottom:14px}
.pillar h3{font-size:13px;letter-spacing:.04em;color:#d9c6a3;margin-bottom:6px;line-height:1.55}
@media(max-width:1180px){.pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}}
.pillar p{font-size:12px;color:#d8d0e2;line-height:1.9}
.pillar a{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:3px;font-size:11px;letter-spacing:.1em}
.split{grid-template-columns:1fr 1fr;min-height:440px}
.split .txt{background:#f2ece4}
.scene{min-height:400px}
.quote{padding:100px 6vw 80px}
.cn{position:absolute;width:240px;top:50%;margin-top:-120px}.cn.l{left:-60px;animation:spin 150s linear infinite}.cn.r{right:-60px;animation:spin 150s linear infinite reverse}
@media(max-width:860px){.compass{display:none}.win{width:24%}.pil{display:none}.curtain{right:0;width:22%}.stone{display:none}.flask{right:26%}.tree{width:30vw}.books{width:40vw}.split{grid-template-columns:1fr}}

.logo,.hero h1 b,.stats b{font-family:"Cinzel","Cormorant Garamond",Georgia,serif}
.logo{letter-spacing:.4em;font-weight:500;font-size:19px}
.hero h1 b{font-weight:500;letter-spacing:.3em;margin-inline-end:-.3em}
.hero h1 .l1{font-size:clamp(44px,7.4vw,92px);font-weight:600}
.hero h1 .l2{font-size:clamp(20px,3.7vw,46px);letter-spacing:.38em;margin-inline-end:-.38em;color:var(--plum)}
.stats b{font-weight:500}
.scene{box-shadow:inset 0 0 0 1px rgba(180,141,87,.25)}

.hero{background:#efe6d8;min-height:max(100vh,680px)}
.hbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.hero::before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse 42% 52% at 50% 46%,rgba(250,245,236,.88),rgba(250,245,236,.45) 60%,transparent 100%),linear-gradient(rgba(244,238,229,.55),transparent 22%)}
.hero-in,.scroll{z-index:2}
.links{gap:36px}
.scene.photo{min-height:420px}
.scene.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% 30%}
@media(max-width:860px){.hbg{object-position:40% 50%}.scene.photo{min-height:340px}}

.hero h1,.hero h1 b{direction:ltr;unicode-bidi:isolate}
nav .links,nav .burger{order:1}nav .logo{order:3;direction:ltr}
nav .logo.nav-logo{direction:ltr}
.links a{font-size:12.5px;white-space:nowrap}
@media(max-width:860px){.links a{font-size:20px}}

.docs{text-align:center;padding:80px 5vw 90px}
.docs .h2{color:#272727;font-size:30px}
.docs .orn{color:#b48d57}
.docs .dp{box-shadow:0 10px 30px rgba(0,0,0,.15)}
.team-card-bg{position:absolute;inset:0;background:linear-gradient(160deg,#8b9474,#5a6350)}
.team-card-bg--1{background:linear-gradient(160deg,#6d5a4a,#3d3228)}
.team-card-bg--2{background:linear-gradient(160deg,#5c6b7a,#38424c)}
.team-card-bg--3{background:linear-gradient(160deg,#9a8b7a,#5c5248)}
.team-card-bg--4{background:linear-gradient(160deg,#7a6b8c,#4a4058)}
.team-card-bg--5{background:linear-gradient(160deg,#8a9a7c,#4f5a48)}
.dacc{display:flex;width:min(1100px,100%);height:min(70vh,500px);margin:auto;gap:10px}
.dp{position:relative;flex:1;border-radius:26px;overflow:hidden;cursor:pointer;box-shadow:0 14px 34px rgba(43,33,80,.25);transition:flex .6s cubic-bezier(.33,1,.68,1)}
.dp.active{flex:4}
.dbg{position:absolute;inset:0;transition:transform .8s ease}.dbg svg{width:100%;height:100%;display:block}
.dp:hover .dbg{transform:scale(1.05)}
.dp::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(43,33,80,.05),rgba(20,22,58,.78));transition:opacity .5s}
.dp.active::before{opacity:.8}
.dp::after{display:none}
.dc{position:absolute;inset:auto 0 0 0;z-index:3;color:#fff;padding:30px 20px;opacity:0;transform:translateY(30%);transition:.5s .1s}
.dp.active .dc{opacity:1;transform:none}
.dc h3{font-size:clamp(18px,2.6vw,28px);font-weight:500;white-space:nowrap}
.dc i{display:block;width:60%;height:1px;background:var(--sand);margin:12px auto}
.dc p{font-size:clamp(13px,1.6vw,17px);opacity:.92;font-weight:300}
.vn{position:absolute;z-index:3;bottom:22px;left:50%;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);color:#f1e6d3;font-size:14px;letter-spacing:.06em;white-space:nowrap;transition:opacity .3s}
.dp.active .vn{opacity:0}
@media(max-width:768px){.dacc{height:400px;gap:6px}.dp{border-radius:18px}.vn{font-size:12px}}

.dbg img{width:100%;height:100%;object-fit:cover;display:block}
.dp::before{background:linear-gradient(rgba(43,33,80,0) 40%,rgba(20,22,58,.88))}
.dp.active::before,.dp::before{opacity:1}
.dp:hover::before{opacity:.9}
.vn{text-shadow:0 1px 8px rgba(0,0,0,.6)}

/* glass pill nav */
nav{display:flex;justify-content:space-between;align-items:center;height:64px;padding:0 26px;top:calc(env(safe-area-inset-top,0px) + 16px);left:5%;right:5%;inset-inline:5%;width:auto;max-width:1300px;margin-inline:auto;background:none}
nav::before{content:"";position:absolute;inset:0;border-radius:50px;background:rgba(43,33,80,.5);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.22);box-shadow:0 10px 30px rgba(20,22,58,.28);z-index:-1}
nav.solid{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 26px}
nav .logo{color:#fff;order:3;display:flex;align-items:center;gap:10px}
nav .logo.nav-logo::before{display:none}
nav .links a{color:#f1eaf8;border:0;border-bottom:1px solid transparent}
nav .links a:hover,nav .links a.on{color:#fff;border-bottom-color:var(--gold)}
body.home-page nav:not(.solid) .links a,body.home-page nav:not(.solid) .nav-brand-name{-webkit-text-stroke:.45px rgba(20,18,40,.82);paint-order:stroke fill}
nav.solid .links a,nav.solid .nav-brand-name,body.academy-route nav .links a,body.academy-route nav .nav-brand-name,body.contact-page nav .links a,body.contact-page nav .nav-brand-name,body.portfolio-route nav .links a,body.portfolio-route nav .nav-brand-name{-webkit-text-stroke:0}
body.academy-route nav .links a,body.contact-page nav .links a,body.portfolio-route nav .links a{color:var(--plum)}
body.academy-route nav .links a:hover,body.academy-route nav .links a.on,body.contact-page nav .links a:hover,body.contact-page nav .links a.on,body.portfolio-route nav .links a:hover,body.portfolio-route nav .links a.on{color:var(--ink);border-bottom-color:var(--gold)}
body.academy-route nav .nav-brand-name,body.contact-page nav .nav-brand-name,body.portfolio-route nav .nav-brand-name{color:var(--plum)}
body.academy-route nav .logo,body.contact-page nav .logo,body.portfolio-route nav .logo{color:var(--plum)}
body.academy-route .nav-logo .hera-logo-img,body.contact-page .nav-logo .hera-logo-img,body.portfolio-route .nav-logo .hera-logo-img{filter:none;opacity:1}
body.academy-route nav .burger,body.contact-page nav .burger,body.portfolio-route nav .burger{color:var(--plum)}
.links{gap:20px}
.burger{color:#fff}
nav.open .burger{color:var(--plum)}
.navbtn{order:4;background:#f4eee5;color:var(--plum);padding:9px 24px;border-radius:30px;font-size:12.5px;font-weight:500;transition:.3s}
.navbtn:hover{background:#fff;transform:translateY(-2px)}
/* Brand right, menus center, CTA left (RTL grid) */
@media(min-width:1101px){
nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-content:unset}
nav .logo.nav-logo,nav .nav-logo{order:0;position:static;left:auto;top:auto;transform:none;grid-column:1;justify-self:start}
nav .links{order:0;grid-column:2;justify-content:center;justify-self:center}
nav .navbtn{order:0;grid-column:3;justify-self:end}
nav .burger{display:none}
}
@media(max-width:1100px){.navbtn{display:none}.links{gap:16px}.links a{font-size:11.5px}}
@media(max-width:860px){.links{gap:26px}nav .links a{color:var(--plum);font-size:20px;-webkit-text-stroke:0}nav .links a.on,nav .links a:hover{color:var(--plum)}nav .nav-brand-name{-webkit-text-stroke:0}nav{padding:0 20px;display:flex;justify-content:space-between}nav .logo.nav-logo{order:3;position:static;transform:none;justify-self:auto}}
/* 3D carousel on hero */
.carousel-container{position:absolute;right:3vw;bottom:70px;width:520px;height:330px;perspective:1200px;z-index:2;direction:ltr}
.carousel-track{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.carousel-card{position:absolute;top:0;right:0;width:230px;height:310px;padding:12px;display:flex;flex-direction:column;transition:all .8s cubic-bezier(.25,1,.5,1);transform-origin:center right;direction:rtl;text-align:right;color:#fff}
.liquid-glass{background:rgba(43,33,80,.55);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.18)}
.clay-border{border-radius:24px;box-shadow:inset 2px 2px 5px rgba(255,255,255,.12),inset -3px -3px 7px rgba(0,0,0,.35),0 15px 35px rgba(20,22,58,.35)}
.card-image{width:100%;height:72%;border-radius:14px;background-size:cover;background-position:center;margin-bottom:12px}
.card-info h3{font-size:.92rem;font-weight:500;color:#fff;margin-bottom:2px;line-height:1.7}
.card-info p{font-size:.8rem;color:var(--sand)}
@media(max-width:1100px){.hero{min-height:max(100vh,1000px);align-items:flex-start}.carousel-container{right:auto;left:50%;margin-left:-100px;width:200px;height:280px;bottom:40px}.carousel-card{width:200px;height:270px}.scroll{display:none}}

.card-image{position:relative;overflow:hidden}
nav::before{background: rgb(233 233 233 / 0%);border-color: rgba(255,255,255,.12);box-shadow:0 12px 34px rgba(8,6,22,.4)}
nav.solid .links a{color:var(--plum)}
nav.solid .links a:hover,nav.solid .links a.on{color:var(--ink);border-bottom-color:var(--gold)}
@media(min-width:1101px){
.carousel-container{bottom:auto;top:50%;margin-top:-165px}
.hero::before{background:radial-gradient(ellipse 36% 58% at 27% 50%,rgba(250,245,236,.88),rgba(250,245,236,.45) 60%,transparent 100%),linear-gradient(rgba(244,238,229,.45),transparent 20%)}
.hero-in{position:absolute;left:5vw;top:50%;transform:translateY(-50%);width:min(600px,46vw);padding:0;max-width:none}
.hero h1 .l1{font-size:clamp(44px,6.2vw,84px)}
.hero h1 .l2{font-size:clamp(20px,2.9vw,40px)}
.carousel-container{--cw:clamp(250px,21.5vw,320px);width:calc(var(--cw)*2.1);height:calc(var(--cw)*1.4);margin-top:calc(var(--cw)*-.7)}
.carousel-card{width:var(--cw);height:calc(var(--cw)*1.32);padding:14px;border-radius:28px}
.card-info h3{font-size:1.15rem}.card-info p{font-size:.9rem}
}
.liquid-glass{background:rgba(14,11,32,.86);border-color:rgba(255,255,255,.12)}
.card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.split .txt p{max-width:500px;margin:4px 0;line-height:1.5}
.split .txt p.closing{color:var(--plum);font-weight:500;font-size:15.5px;margin:8px 0 2px}
#v-about .split .txt.about-services{padding:40px clamp(24px,4vw,48px);max-width:none}
#v-about .split .txt.about-services h2{font-size:clamp(20px,2.4vw,28px);line-height:1.45;margin:0 0 14px}
#v-about .about-block{margin:0 0 12px}
#v-about .about-block h3{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--plum);line-height:1.4;letter-spacing:.02em}
#v-about .about-block ul{margin:0;padding:0 1.1em 0 0;list-style:disc;font-size:12.5px;color:var(--muted);line-height:1.45}
#v-about .about-block li{margin:0 0 1px}
#v-about .about-note{margin:4px 0 0;font-size:11.5px;color:var(--plum);font-weight:500;line-height:1.4;opacity:.9}

/* Contact page — refined editorial layout */
#v-contact{background:#f6f0e7}
#v-contact .contact-hero{position:relative;overflow:hidden;padding:150px 6vw 72px;text-align:center;background:linear-gradient(135deg,#f7f1e8 0%,#eee3d4 100%)}
#v-contact .contact-hero:before{content:"";position:absolute;width:340px;height:340px;border:1px solid rgba(180,141,87,.3);border-radius:50%;left:-110px;top:-170px;box-shadow:0 0 0 28px rgba(180,141,87,.04),0 0 0 58px rgba(180,141,87,.035)}
#v-contact .contact-hero:after{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(180,141,87,.25);border-radius:50%;right:-80px;bottom:-155px;box-shadow:0 0 0 25px rgba(180,141,87,.04)}
#v-contact .contact-hero .eyebrow{letter-spacing:.22em;text-transform:uppercase;color:#a27b49;font-size:11px}
#v-contact .contact-hero .contact-tagline{font-size:clamp(16px,2.6vw,30px);letter-spacing:.28em;color:#2b2150;font-weight:500;margin:0 auto 6px;text-transform:uppercase;line-height:1.4}
#v-contact .contact-hero .orn{margin-top:18px;max-width:280px}
#v-contact .contact-hero h1{font-size:clamp(36px,5vw,62px);line-height:1.35;color:#2b2150;font-weight:500}
#v-contact .contact-hero p{max-width:570px;margin:16px auto 0;color:#756c7b;font-size:14px}
#v-contact .contact-main{max-width:1180px;margin:-20px auto 0;padding:0 5vw 85px;position:relative;z-index:2}
#v-contact .contact-card{display:grid;grid-template-columns:.88fr 1.12fr;background:#fffdf9;box-shadow:0 24px 70px rgba(43,33,80,.10);border:1px solid rgba(180,141,87,.22);overflow:hidden;border-radius:24px}
#v-contact .contact-aside{position:relative;overflow:hidden;padding:48px 42px;background:radial-gradient(ellipse at 15% 10%,rgba(126,99,169,.3),transparent 45%),linear-gradient(150deg,#34265d,#171735 80%);color:#f5eee4}
#v-contact .contact-aside:after{content:"H";position:absolute;right:-8px;bottom:-105px;font-family:"Cinzel",serif;font-size:310px;line-height:1;color:rgba(255,255,255,.035);pointer-events:none}
#v-contact .aside-kicker{font-size:11px;letter-spacing:.18em;color:#d8bd91;margin-bottom:12px}
#v-contact .contact-aside h2{font-size:30px;font-weight:400;line-height:1.6;margin-bottom:12px}
#v-contact .aside-copy{font-size:13px;color:#d4cbdc;line-height:2;margin-bottom:26px}
#v-contact .contact-detail{position:relative;z-index:1;padding:17px 0;border-top:1px solid rgba(231,211,181,.2);display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:start}
#v-contact .detail-icon{width:36px;height:36px;border:1px solid rgba(205,176,134,.55);border-radius:50%;display:grid;place-items:center;color:#dfc69f;font-size:16px}
#v-contact .contact-detail small{display:block;color:#cdb086;font-size:11px;margin-bottom:2px}
#v-contact .contact-detail strong{display:block;font-size:13px;font-weight:400;color:#fffaf1;overflow-wrap:anywhere;text-align:right}
#v-contact .contact-detail a:hover{color:#dfc69f}
#v-contact .social-line{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-top:24px;color:#e0c9a7;font-size:12px}
#v-contact .social-line i{height:1px;flex:1;background:rgba(205,176,134,.45)}
#v-contact .contact-form-panel{padding:48px clamp(24px,5vw,64px)}
#v-contact .form-heading{margin-bottom:30px}
#v-contact .form-heading .eyebrow{color:#a27b49;letter-spacing:.14em}
#v-contact .form-heading h2{font-size:27px;font-weight:500;color:#2b2150;line-height:1.5}
#v-contact .form-heading p{font-size:13px;color:#817888;margin-top:5px}
#v-contact .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:4px 22px}
#v-contact .fld{margin-bottom:18px}
#v-contact .fld span{display:block;font-size:12px;color:#766b7e;margin-bottom:3px}
#v-contact .fld input,#v-contact .fld select,#v-contact .fld textarea{border:1px solid #e4d9ca;background:#fcfaf6;padding:12px 13px;font-size:13px;border-radius:12px;min-height:47px}
#v-contact .fld textarea{resize:vertical;min-height:115px}
#v-contact .fld input:focus,#v-contact .fld select:focus,#v-contact .fld textarea:focus{border-color:#8a6b9e;box-shadow:0 0 0 3px rgba(43,33,80,.06)}
#v-contact .fld.full{grid-column:1/-1}
#v-contact .send-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
#v-contact #send{margin:0;padding:13px 30px;letter-spacing:0;border-radius:12px}
#v-contact .privacy-note{font-size:11px;color:#928898}
#v-contact .ok{margin-top:18px}
#v-contact .contact-map{max-width:1180px;margin:0 auto -150px;padding:0 5vw;position:relative;z-index:3}
#v-contact .contact-map-bridge{display:none}
body.contact-page footer.hera-footer{margin-top:-150px;padding-top:calc(150px + 42px);position:relative;z-index:2}
#v-contact .map-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
#v-contact .map-heading h2{font-size:25px;font-weight:500;color:#2b2150}
#v-contact .map-heading p{font-size:12px;color:#82798a}
#v-contact .map{margin:0;height:300px;border:1px solid #ded0bd;border-radius:22px;overflow:hidden;box-shadow:0 22px 55px rgba(20,22,58,.24);background-color:#eee5d8;background-image:linear-gradient(30deg,transparent 47%,rgba(180,141,87,.22) 48%,rgba(180,141,87,.22) 49%,transparent 50%),linear-gradient(120deg,transparent 47%,rgba(180,141,87,.18) 48%,rgba(180,141,87,.18) 49%,transparent 50%),repeating-linear-gradient(0deg,transparent 0 38px,rgba(180,141,87,.12) 39px 40px),repeating-linear-gradient(90deg,transparent 0 55px,rgba(180,141,87,.12) 56px 57px)}
#v-contact .map-label{background:rgba(255,253,249,.94);border:1px solid rgba(180,141,87,.45);padding:12px 22px;text-align:center;box-shadow:0 10px 30px rgba(43,33,80,.09);font-size:13px;color:#2b2150}
#v-contact .map-label small{display:block;color:#82798a;font-size:11px}
#v-contact .pin{top:34%;left:50%;width:18px;height:18px;border:4px solid #f6f0e7;box-shadow:0 0 0 1px #2b2150;background:#2b2150}
#v-contact footer{margin-top:0;padding-top:0;position:relative;z-index:1}
@media(max-width:760px){
 #v-contact .contact-hero{padding:125px 7vw 58px}
 #v-contact .contact-main{padding:0 5vw 55px}
 #v-contact .contact-card{grid-template-columns:1fr}
 #v-contact .contact-aside{padding:34px 27px}
 #v-contact .contact-form-panel{padding:34px 25px}
 #v-contact .contact-fields{grid-template-columns:1fr;gap:0}
 #v-contact .fld.full{grid-column:auto}
 #v-contact .map-heading{display:block}
 #v-contact .map-heading p{margin-top:5px}
 #v-contact .contact-map{padding:0 5vw;margin-bottom:-130px}
 body.contact-page footer.hera-footer{margin-top:-130px;padding-top:calc(130px + 38px)}
 #v-contact .map{height:260px}
 #v-contact footer{padding-top:0}
 footer.hera-footer{grid-template-columns:1fr 1fr;gap:26px;padding:38px 7vw 22px;margin-top:0;text-align:center;border-top:1px solid rgba(205,176,134,.45)}
 footer.hera-footer .footer-social{grid-column:2;grid-row:2;justify-content:center;flex-wrap:wrap}
 footer.hera-footer .footer-brand{grid-column:1/-1;grid-row:1}
 footer.hera-footer .footer-copy{grid-column:1;grid-row:2;text-align:right;justify-self:start}
 footer.hera-footer .footer-bottom{grid-column:1/-1}
 footer.hera-footer .footer-copy p{font-size:11px}
}
footer.hera-footer{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto;align-items:center;gap:24px 34px;padding:42px clamp(24px,7vw,100px) 22px;margin-top:0;text-align:initial;background:#131314;border-top:none;color:#e8e8e8;position:relative;z-index:1}
footer.hera-footer .footer-social a{width:46px;height:46px;border:1px solid rgba(255,255,255,.18);color:#f5f5f5;background:transparent}
footer.hera-footer .footer-social a:hover{background:#2b2b2b;border-color:rgba(255,255,255,.4);color:#fff}
footer.hera-footer .footer-brand .logo,footer.hera-footer .footer-copy strong{color:#f5f5f5}
footer.hera-footer .footer-brand small{color:#999}
footer.hera-footer .footer-copy p{color:#aaa}
footer.hera-footer .footer-bottom{color:#777;border-top-color:rgba(255,255,255,.08)}
footer.hera-footer .footer-bottom span{color:#aaa}
body.contact-page footer.hera-footer{background:linear-gradient(125deg,#17152e,#30234f 60%,#211a3b);border-top:0;color:#d8cfdf}
body.contact-page footer.hera-footer .footer-social a{width:42px;height:42px;border:1px solid rgba(205,176,134,.38);color:#e3c99f;background:transparent}
body.contact-page footer.hera-footer .footer-social a:hover{background:#c5a575;color:#211a3b;border-color:rgba(205,176,134,.38)}
body.contact-page footer.hera-footer .footer-brand .logo,body.contact-page footer.hera-footer .footer-copy strong{color:#f0d9b2}
body.contact-page footer.hera-footer .footer-brand small{color:#bdb0ca}
body.contact-page footer.hera-footer .footer-copy p{color:#c3b9ce}
body.contact-page footer.hera-footer .footer-bottom{color:#a99db7;border-top-color:rgba(205,176,134,.18)}
body.contact-page footer.hera-footer .footer-bottom span{color:#c5a575}
footer.hera-footer .footer-social{display:flex;gap:10px;align-items:center;justify-content:flex-start;grid-column:3;grid-row:1;justify-self:end}
footer.hera-footer .footer-social a{border-radius:50%;display:grid;place-items:center;transition:all .25s ease}
footer.hera-footer .footer-social a:hover{transform:translateY(-3px)}
footer.hera-footer .footer-social svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
footer.hera-footer .footer-brand{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:130px}
footer.hera-footer .footer-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #b48d57;border-radius:50%;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:24px;color:#d7b77f}
footer.hera-footer .footer-brand .logo{display:block;font-family:'Vazirmatn',Tahoma,sans-serif;font-size:23px;letter-spacing:.18em;margin:0}
footer.hera-footer .footer-brand small{font-size:8px;letter-spacing:.28em}
footer.hera-footer .footer-copy{grid-column:1;grid-row:1;text-align:right;direction:rtl;max-width:310px;justify-self:start}
footer.hera-footer .footer-copy strong{font-size:15px;font-weight:500}
footer.hera-footer .footer-copy p{font-size:12px;line-height:2;margin-top:5px}
footer.hera-footer .footer-bottom{grid-column:1/-1;grid-row:2;padding-top:17px;text-align:center;font-size:11px}
footer.hera-footer .footer-bottom span{padding:0 7px}

/* About intro (portrait + text) */
#v-home .about-split{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(280px,1.15fr);gap:clamp(28px,5vw,70px);align-items:center;direction:ltr;max-width:1120px;padding-top:48px;padding-bottom:56px}
#v-home .about-split__media{position:relative;direction:ltr;width:min(100%,380px);min-height:460px;padding:42px 10px 18px 0}
#v-home .about-blob{position:absolute;z-index:0;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
#v-home .about-blob path{filter:drop-shadow(0 10px 22px rgba(90,100,70,.14))}
#v-home .about-arch{position:absolute;z-index:1;left:18%;top:10%;width:68%;height:82%;margin:0;overflow:hidden;background:#cfc6b6;border-radius:999px 999px 0 0;box-shadow:0 16px 36px rgba(43,33,80,.14)}
#v-home .about-arch img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
#v-home .about-split__text{direction:rtl;text-align:right}
#v-home .about-title{margin:0 0 10px;font-size:clamp(22px,2.6vw,30px);font-weight:500;color:var(--plum);letter-spacing:.04em}
#v-home .about-lead{margin:0 0 18px;font-size:clamp(15px,1.7vw,18px);color:var(--plum);font-weight:500;line-height:1.9}
#v-home .about-sub{margin:28px 0 12px;font-size:clamp(16px,1.8vw,20px);font-weight:500;color:var(--plum)}
#v-home .about-split__text p{margin:0 0 14px;color:var(--muted);font-size:13.5px;line-height:2.15;text-align:justify}
@media(max-width:860px){
#v-home .about-split{grid-template-columns:1fr;gap:34px;padding-top:28px}
#v-home .about-split__media{order:1;max-width:360px;margin-inline:auto;min-height:420px}
#v-home .about-split__text{order:2}
#v-home .about-arch{left:16%;width:70%;height:80%}
}

/* Expertise layout after about (Brow Studio style) */
#v-home .exp{background:#f4efe8;padding:72px 0 90px;overflow:hidden}
#v-home .exp__heading{text-align:center;margin:0 0 56px;font-family:"Cormorant Garamond","Cinzel",Georgia,serif;font-weight:500;font-size:clamp(28px,4vw,42px);letter-spacing:.18em;color:#2a2438}
#v-home .exp-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;max-width:1100px;margin:0 auto 70px;padding:0 6vw;direction:ltr}
#v-home .exp-row--last{margin-bottom:0}
#v-home .exp-copy{direction:rtl;text-align:right;padding:10px 8px}
#v-home .exp-script{margin:0 0 16px;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(26px,3.2vw,38px);color:#2a2438;line-height:1.35}
#v-home .exp-copy p{margin:0 0 22px;color:#5c5566;font-size:13.5px;line-height:2.1;text-align:justify;max-width:420px}
#v-home .exp-btn{display:inline-block;background:#2a2438;color:#f4efe8;padding:11px 28px;font-size:12px;letter-spacing:.14em;border:0;text-decoration:none;transition:.3s}
#v-home .exp-btn:hover{background:#b48d57;color:#fff}
#v-home .exp-visual{position:relative;min-height:340px}
#v-home .exp-panel{position:absolute;background:#d9cbb8;z-index:0}
#v-home .exp-visual--arch .exp-panel{inset:12% 0 0 18%;border-radius:0}
#v-home .exp-visual--square .exp-panel{inset:18% 12% 0 0}
#v-home .exp-arch{position:relative;z-index:2;margin:0 auto 0 0;width:min(78%,300px);aspect-ratio:3/4.2;border-radius:999px 999px 0 0;overflow:hidden;background:#cfc6b6;box-shadow:0 14px 34px rgba(42,36,56,.14)}
#v-home .exp-visual--arch .exp-arch{margin-inline-start:auto}
#v-home .exp-square{position:relative;z-index:2;margin:0;width:min(86%,320px);aspect-ratio:1;overflow:hidden;background:#cfc6b6;box-shadow:0 14px 34px rgba(42,36,56,.12)}
#v-home .exp-arch img,#v-home .exp-square img{width:100%;height:100%;object-fit:cover;display:block}
#v-home .exp-dots{position:absolute;z-index:3;width:72px;height:72px;background-image:radial-gradient(#2a2438 1.4px,transparent 1.5px);background-size:12px 12px;background-repeat:repeat}
#v-home .exp-visual--arch .exp-dots{left:8%;bottom:6%}
#v-home .exp-dots--br{right:4%;bottom:2%;left:auto}
@media(max-width:860px){
#v-home .exp{padding:48px 0 60px}
#v-home .exp__heading{margin-bottom:36px}
#v-home .exp-row{grid-template-columns:1fr;gap:28px;margin-bottom:52px}
#v-home .exp-row--a .exp-visual{order:1}
#v-home .exp-row--a .exp-copy{order:2}
#v-home .exp-visual{min-height:300px}
#v-home .exp-arch,#v-home .exp-square{width:min(100%,280px);margin-inline:auto}
#v-home .exp-copy p{max-width:none}
}


/* Global typography: Vazirmatn across every page */
body, body *{font-family:"Vazirmatn",Tahoma,sans-serif !important}
/* Contact page refinements */
.hera-logo-img{display:block;width:46px;height:46px;object-fit:contain;border-radius:50%}
.nav-logo{display:flex;align-items:center;flex-direction:row;letter-spacing:0;gap:10px;direction:ltr}
.nav-logo .hera-logo-img{width:40px;height:40px;filter:brightness(0) invert(1);mix-blend-mode:normal;opacity:.95}
.nav-brand-name{font-family:"Cinzel","Cormorant Garamond",Georgia,serif;font-weight:500;font-size:15px;letter-spacing:.28em;color:#f4eee5}
footer.hera-footer .footer-brand .hera-logo-img{width:58px;height:58px;filter:none;mix-blend-mode:screen}
#v-contact .contact-aside h2{display:none}
#v-contact .contact-aside .aside-copy{display:none}
#v-contact .contact-social-icons{display:flex;gap:10px;align-items:center;margin-top:24px;direction:ltr;justify-content:center}
#v-contact .contact-social-icons a{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(205,176,134,.55);border-radius:50%;color:#e3c99f;font-size:0;transition:all .25s ease}
#v-contact .contact-social-icons a:hover{background:#c5a575;color:#211a3b;transform:translateY(-3px)}
#v-contact .contact-social-icons svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#v-contact .contact-form-panel .form-heading p{line-height:2;margin:0 0 24px}
#v-contact .send-row{display:flex;justify-content:center;align-items:center;margin-top:20px}
#v-contact #send{transition:background .25s,color .25s,transform .25s,box-shadow .25s}
#v-contact #send:hover{background:#b48d57;color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(180,141,87,.25)}
#v-contact .contact-fields{grid-template-columns:1fr}
@media(max-width:700px){.hera-logo-img{width:38px;height:38px}#v-contact .contact-social-icons{justify-content:center}}

/* About hero — HERA title slider */
#v-about .hero h1 .l1{font-size:clamp(36px,5vw,50px);line-height:1.1;letter-spacing:.28em}
#v-about .hero h1 .l2{font-size:clamp(18px,3.2vw,30px);line-height:1.25;letter-spacing:.22em;margin-top:6px}
#v-about .hero-in .tag{font-size:clamp(14px,1.55vw,19px);line-height:1.55}
#v-about .hero-in .sub{margin-top:10px;line-height:1.65}
#v-about .carousel-card .card-info h3{font-size:clamp(.7rem,.85vw,.82rem);font-weight:500;line-height:1.25;margin:0;white-space:nowrap}
#v-about .carousel-card .card-info p{font-size:.65rem;line-height:1.2;margin:3px 0 0;color:var(--sand);opacity:.9}
@media(max-width:1100px){#v-about .carousel-card .card-info h3{font-size:.72rem}}
/* Hero → about divider */
.red-divider{width:100%;display:flex;flex-direction:column;background:#f5eee6}
.red-divider span{display:block;width:100%;height:18px;margin-top:-2px}
.red-divider span:nth-child(1){background:#abab8f;box-shadow:0 0 12px 2px #abab8f}
.red-divider span:nth-child(2){background:#cecfb5;opacity:.8;box-shadow:0 0 12px 2px #cecfb5}
.red-divider span:nth-child(3){background:#e5d4c0;opacity:.6;box-shadow:inset 0 0 12px 2px #e5d4c0}

/* Academy — SVG section dividers (codepen.io/rinaw/pen/pGxorQ) */
#v-academy{--ab-spacer:20vw;--ab-s1:#fff;--ab-s2:#ffd2b0;--ab-s3:#384364;--ab-s4:#ccc;--ab-s5:#333;width:100%;max-width:none;padding:0;margin:0;overflow-x:clip}
#v-academy .section-bubble{margin:0 0 var(--ab-spacer);position:relative;isolation:isolate;padding:2.75rem 0 3rem}
#v-academy .section-bubble1{padding-top:calc(env(safe-area-inset-top,0px) + 96px)}
#v-academy .section-bubble .container{position:relative;z-index:2;text-align:center}
#v-academy .section-bubble1{z-index:1}
#v-academy .section-bubble2{z-index:2}
#v-academy .section-bubble3{z-index:3}
#v-academy .section-bubble4{z-index:4}
#v-academy .section-bubble5.academy-outro{z-index:5;margin-bottom:0;background:var(--ab-s5);color:#fff;text-align:center;padding:3rem 0 4.5rem}
#v-academy .section-bubble5.academy-outro::after{display:none}
#v-academy .section-bubble::after{content:"";position:absolute;bottom:0;left:0;z-index:1;width:100vw;height:var(--ab-spacer);max-width:none;margin-left:calc(50% - 50vw);background-size:100%;background-repeat:no-repeat;background-position:center bottom;transform:translateY(100%);pointer-events:none}
#v-academy .section-bubble1{background:var(--ab-s1)}
#v-academy .section-bubble1::after{background-color:var(--ab-s2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ffffff' viewBox='0 0 1185 248'%3E%3Ccircle cx='76' cy='121.1' r='20'/%3E%3Ccircle cx='870' cy='201.1' r='11'/%3E%3Ccircle cx='814.5' cy='165.6' r='24.5'/%3E%3Cpath d='M0 0v17.7c22.7 14.8 53 31.9 90.7 51.5 150.8 78 322 116.6 424.8 69.3 102.9-47.4 138-69.3 210.8-69.3s118.3 48.6 219.5 38.3 76.3-59.3 188.7-59.3c18.9 0 35.5 2.6 50.5 6.8V0H0z'/%3E%3C/svg%3E")}
#v-academy .section-bubble2{background:var(--ab-s2)}
#v-academy .section-bubble2::after{background-color:var(--ab-s3);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1185 248'%3E%3Cpath d='M50.5 199.8c112.4 0 87.5-49 188.7-59.3s146.7 38.3 219.5 38.3 107.9-21.9 210.8-69.3c102.8-47.3 274-8.7 424.8 69.3 37.7 19.5 68 36.7 90.7 51.5V0H0v193C15 197.2 31.6 199.8 50.5 199.8zM1109 106.9c11 0 20 9 20 20 0 11-9 20-20 20s-20-9-20-20C1089 115.9 1098 106.9 1109 106.9zM370.5 57.9c13.5 0 24.5 11 24.5 24.5 0 13.5-11 24.5-24.5 24.5S346 95.9 346 82.4C346 68.9 357 57.9 370.5 57.9zM315 35.9c6.1 0 11 4.9 11 11s-4.9 11-11 11-11-4.9-11-11S308.9 35.9 315 35.9z' fill='%23ffd2b0'/%3E%3C/svg%3E")}
#v-academy .section-bubble3{background:var(--ab-s3)}
#v-academy .section-bubble3 .academy-heading,#v-academy .section-bubble3 .academy-title,#v-academy .section-bubble3 p{color:#fff}
#v-academy .section-bubble3 p{opacity:.8}
#v-academy .section-bubble3::after{background-color:var(--ab-s4);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23384364' viewBox='0 0 1185 248'%3E%3Ccircle cx='76' cy='121.1' r='20'/%3E%3Ccircle cx='870' cy='201.1' r='11'/%3E%3Ccircle cx='814.5' cy='165.6' r='24.5'/%3E%3Cpath d='M0 0v17.7c22.7 14.8 53 31.9 90.7 51.5 150.8 78 322 116.6 424.8 69.3 102.9-47.4 138-69.3 210.8-69.3s118.3 48.6 219.5 38.3 76.3-59.3 188.7-59.3c18.9 0 35.5 2.6 50.5 6.8V0H0z'/%3E%3C/svg%3E")}
#v-academy .section-bubble4{background:var(--ab-s4)}
#v-academy .section-bubble4::after{background-color:var(--ab-s5);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1185 248'%3E%3Cpath d='M50.5 199.8c112.4 0 87.5-49 188.7-59.3s146.7 38.3 219.5 38.3 107.9-21.9 210.8-69.3c102.8-47.3 274-8.7 424.8 69.3 37.7 19.5 68 36.7 90.7 51.5V0H0v193C15 197.2 31.6 199.8 50.5 199.8zM1109 106.9c11 0 20 9 20 20 0 11-9 20-20 20s-20-9-20-20C1089 115.9 1098 106.9 1109 106.9zM370.5 57.9c13.5 0 24.5 11 24.5 24.5 0 13.5-11 24.5-24.5 24.5S346 95.9 346 82.4C346 68.9 357 57.9 370.5 57.9zM315 35.9c6.1 0 11 4.9 11 11s-4.9 11-11 11-11-4.9-11-11S308.9 35.9 315 35.9z' fill='%23cccccc'/%3E%3C/svg%3E")}
#v-academy .academy-outro-title{font-size:clamp(18px,2.4vw,24px);font-weight:500;color:#fff;margin:0 0 12px;letter-spacing:.12em}
#v-academy .section-bubble5.academy-outro .academy-outro-lead{font-size:15px;line-height:2;color:#fff;opacity:1;max-width:640px;margin:0 auto}
#v-academy .academy-eyebrow{display:block;font-size:11px;letter-spacing:.22em;color:#a27b49;margin:0 auto 10px;max-width:720px}
#v-academy .academy-title{font-size:clamp(18px,2.4vw,24px);font-weight:500;color:var(--plum);line-height:1.45;margin:0 auto 14px;max-width:720px}
#v-academy .academy-tagline{font-size:clamp(16px,2.2vw,24px);font-weight:500;color:var(--plum);line-height:1.55;margin:0 auto 18px;max-width:720px}
#v-academy .academy-heading{font-size:clamp(18px,2.4vw,24px);font-weight:500;color:var(--plum);line-height:1.45;margin:0 auto 12px;max-width:720px}
#v-academy .academy-subheading{font-size:clamp(17px,2.2vw,24px);font-weight:500;color:var(--plum);line-height:1.5;margin:26px auto 12px;max-width:720px}
#v-academy .section-bubble p{font-size:15px;line-height:2;color:#4a4358;max-width:720px;margin:0 auto}
#v-academy .section-bubble p + p{margin-top:14px}
#v-academy .academy-course{margin:22px auto 0;max-width:720px}
#v-academy .academy-course:first-of-type{margin-top:16px}
#v-academy .academy-course-title{font-size:clamp(14px,1.8vw,24px);font-weight:500;color:var(--plum);margin:0 auto 8px;letter-spacing:.05em;line-height:1.7;max-width:720px}
#v-academy .academy-course p{max-width:720px;margin:0 auto}
#v-academy .academy-list{margin:16px auto 0;padding:0;list-style:none;max-width:720px}
#v-academy .academy-list li{position:relative;padding:8px 1.1em;font-size:14px;line-height:2;color:#3d3548;text-align:center}
#v-academy .academy-list li::before{content:"◆ ";position:static;color:var(--gold);font-size:9px}
#v-academy .section-bubble3 .academy-heading{color:#fff}
#v-academy .academy-list--on-dark li{color:rgba(255,255,255,.88)}
#v-academy .academy-list--on-dark li strong{color:#fff;font-weight:500}
#v-academy .academy-list--on-dark li::before{color:var(--sand)}
#v-academy .section-bubble4 .academy-subheading{margin-top:18px}
#v-academy .academy-cta-wrap{margin-top:24px;text-align:center}
#v-academy .academy-cta{margin-top:0}
body.academy-route{background:#fff;--ab-spacer:20vw}
body.portfolio-route{background:#fff}
@media(max-width:700px){body.academy-route,#v-academy{--ab-spacer:26vw}#v-academy .section-bubble1{padding-top:calc(env(safe-area-inset-top,0px) + 84px)}}