@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500&family=Manrope:wght@300;400;500&family=Marcellus&family=Noto+Sans+JP:wght@400;500;600;700&family=Oswald:wght@300;400;500;600&display=swap");

:root{--bg:#050505;--fg:#f5f3ef;--muted:#8b8985;--line:rgba(255,255,255,.13);--accent:#8c72ff;--warm:#ffb26b;--pad:clamp(24px,5vw,76px);--header:96px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--fg);font-family:"Helvetica Neue","Hiragino Sans","Yu Gothic UI",Meiryo,sans-serif;font-weight:300;line-height:1.7;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.noise{position:fixed;inset:0;pointer-events:none;opacity:.025;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{height:var(--header);position:absolute;z-index:30;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);border-bottom:1px solid rgba(255,255,255,.08)}.wordmark{font-size:26px;font-weight:500;letter-spacing:-1.5px}.wordmark span,.page-hero h1 span{color:var(--accent)}.desktop-nav{display:flex;gap:42px;margin-left:auto;margin-right:58px}.desktop-nav a{font-size:11px;letter-spacing:.18em;color:#989898;position:relative;transition:.3s}.desktop-nav a:hover,.desktop-nav a.active{color:#fff}.desktop-nav a.active:after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);left:50%;bottom:-13px}.header-actions{display:flex;align-items:center}.lang-toggle{display:flex;align-items:center;gap:9px;background:none;border:0;padding:8px;font-size:10px;letter-spacing:.1em;color:#666}.lang-toggle span{transition:.3s}.lang-toggle .lang-active{color:#fff}.lang-toggle i{display:block;width:20px;height:1px;background:#444}.menu-toggle{display:none;width:34px;height:34px;border:0;background:none;padding:8px;position:relative}.menu-toggle span{position:absolute;width:20px;height:1px;left:7px;background:#fff;transition:.35s}.menu-toggle span:first-child{top:13px}.menu-toggle span:last-child{top:20px}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{position:fixed;z-index:25;inset:0;background:#070707;padding:150px var(--pad) 50px;display:flex;flex-direction:column;justify-content:space-between;opacity:0;visibility:hidden;transition:.45s}.menu-open .mobile-menu{opacity:1;visibility:visible}.mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-size:clamp(34px,10vw,64px);line-height:1.55;letter-spacing:-.04em;border-bottom:1px solid var(--line)}.mobile-menu>p{font-size:10px;line-height:1.5;letter-spacing:.15em;color:#555}.eyebrow,.section-label{font-size:10px;letter-spacing:.22em;font-weight:500;color:#a6a4a0}.eyebrow span{color:#585858}.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;padding:calc(var(--header) + 70px) var(--pad) 80px}.hero:after{content:"";position:absolute;bottom:0;left:var(--pad);right:var(--pad);height:1px;background:var(--line)}.hero-copy{z-index:3;width:60%;position:relative}.hero h1{font-size:clamp(57px,8.3vw,128px);font-weight:300;line-height:.98;letter-spacing:-.075em;margin:34px 0 38px}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8)}.hero-lead{color:#aaa;font-size:clamp(13px,1.2vw,17px);white-space:pre-line;margin:0 0 45px;line-height:2}.text-link{display:inline-flex;gap:56px;align-items:center;border-bottom:1px solid #777;padding:0 0 9px;font-size:11px;letter-spacing:.15em;transition:.3s}.text-link:hover{border-color:#fff;gap:66px}.text-link i{font-style:normal;font-size:15px}.hero-logo{position:absolute;width:min(54vw,730px);aspect-ratio:1;right:-4vw;top:50%;transform:translateY(-46%);opacity:.58}.hero-logo img{position:absolute;width:100%;height:100%;object-fit:cover;mix-blend-mode:screen;filter:saturate(.7)}.logo-glow{position:absolute;inset:20%;background:radial-gradient(circle,rgba(112,72,255,.22),transparent 65%);filter:blur(40px)}.hero-orbit{position:absolute;border:1px solid rgba(142,113,255,.14);border-radius:50%;right:-20vw;top:12%;width:75vw;height:75vw;transform:rotate(-17deg)}.orbit-two{right:-4vw;top:25%;width:52vw;height:52vw;border-color:rgba(255,166,102,.09)}.scroll-cue{position:absolute;right:var(--pad);bottom:38px;display:flex;align-items:center;gap:14px}.scroll-cue span{font-size:8px;letter-spacing:.22em;color:#696969}.scroll-cue i{width:48px;height:1px;background:#555;position:relative;overflow:hidden}.scroll-cue i:after{content:"";position:absolute;inset:0;background:#fff;animation:scroll 2.2s infinite}@keyframes scroll{0%{transform:translateX(-105%)}70%,100%{transform:translateX(105%)}}.section{position:relative;padding:clamp(100px,14vw,210px) var(--pad);border-bottom:1px solid var(--line)}.section-index{position:absolute;left:var(--pad);top:clamp(100px,14vw,210px);font-size:9px;color:#484848;letter-spacing:.15em}.statement-inner{margin-left:16%;display:grid;grid-template-columns:1.25fr .75fr;column-gap:8vw}.statement-inner>.section-label{grid-column:1/-1;margin:0 0 66px}.statement h2,.company-intro h2{font-size:clamp(40px,5.8vw,88px);font-weight:300;line-height:1.27;letter-spacing:-.055em;margin:0}.statement-copy{align-self:end;max-width:430px;color:#94928f;font-size:14px;line-height:2.2}.statement-copy .text-link{margin-top:32px;color:#fff}.services{padding-bottom:0}.services-head{margin-left:16%;margin-bottom:70px}.services-head h2{font-size:clamp(58px,9vw,132px);font-weight:300;letter-spacing:-.07em;line-height:1;margin:12px 0 0}.service-list{margin-left:16%}.service-item{min-height:180px;border-top:1px solid var(--line);display:grid;grid-template-columns:72px 1fr 50px;align-items:center;transition:.4s;position:relative}.service-item:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(140,114,255,.08),transparent);transform:scaleY(0);transition:.35s}.service-item:hover:before{transform:scaleY(1)}.service-item>span{font-size:9px;color:#606060;align-self:start;padding-top:42px}.service-item h3{font-weight:300;font-size:clamp(24px,3vw,42px);letter-spacing:-.045em;margin:0 0 7px}.service-item p{font-size:12px;color:#777;margin:0}.service-item>i{font-style:normal;font-size:22px;color:#777;transition:.3s;z-index:2}.service-item:hover>i{color:#fff;transform:translate(4px,-4px)}.contact-cta{min-height:90vh;padding:130px var(--pad);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;border-bottom:1px solid var(--line)}.contact-cta h2{font-size:clamp(58px,9vw,132px);line-height:1.03;letter-spacing:-.065em;font-weight:300;margin:30px 0 60px}.contact-cta.compact{min-height:75vh}.cta-glow{position:absolute;width:60vw;height:30vw;top:35%;left:20%;background:radial-gradient(ellipse,rgba(120,75,255,.13),transparent 65%);filter:blur(20px)}.circle-link{width:138px;height:138px;border:1px solid #777;border-radius:50%;display:flex;justify-content:center;align-items:center;gap:14px;font-size:10px;letter-spacing:.16em;position:relative;transition:.4s}.circle-link:before{content:"";position:absolute;inset:0;border-radius:50%;background:#f4f2ed;transform:scale(0);transition:.4s}.circle-link span,.circle-link i{position:relative;z-index:1}.circle-link i{font-style:normal;font-size:16px}.circle-link:hover{color:#050505;border-color:#fff}.circle-link:hover:before{transform:scale(1)}.site-footer{min-height:190px;padding:55px var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:end}.site-footer .footer-links{display:flex;gap:35px}.site-footer .footer-links a,.site-footer>p{font-size:9px;letter-spacing:.14em;color:#777}.site-footer>p{text-align:right;margin:0}.page-hero{min-height:72vh;padding:calc(var(--header) + 120px) var(--pad) 80px;display:flex;flex-direction:column;justify-content:flex-end;position:relative;border-bottom:1px solid var(--line);background:radial-gradient(circle at 80% 30%,rgba(111,66,255,.1),transparent 30%)}.page-hero h1{font-size:clamp(70px,12vw,180px);font-weight:300;line-height:.86;letter-spacing:-.075em;margin:25px 0 45px}.page-kicker{margin:0;font-size:11px;letter-spacing:.14em;color:#777}.company-intro{display:grid;grid-template-columns:16% 1fr}.company-intro>div:last-child{max-width:1100px}.company-intro .section-label{margin-bottom:65px}.wide-copy{margin:80px 0 0 auto;max-width:650px;color:#92908d;font-size:15px;line-height:2.4}.profile{display:grid;grid-template-columns:16% 1fr}.profile h2{font-size:clamp(42px,6vw,88px);font-weight:300;letter-spacing:-.055em;margin:20px 0 70px}.profile-list{margin:0;border-top:1px solid var(--line)}.profile-list>div{display:grid;grid-template-columns:31% 1fr;padding:27px 0;border-bottom:1px solid var(--line)}.profile-list dt{font-size:10px;letter-spacing:.12em;color:#777}.profile-list dd{margin:0;font-size:13px}.contact-layout{display:grid;grid-template-columns:42% 1fr;gap:10vw}.contact-aside{position:sticky;top:80px;align-self:start}.contact-aside h2{font-size:clamp(34px,4vw,58px);font-weight:300;line-height:1.35;letter-spacing:-.05em;margin:30px 0}.contact-aside>p:not(.section-label){color:#85827f;font-size:13px;max-width:430px}.contact-meta{margin-top:65px;display:flex;flex-direction:column;gap:6px}.contact-meta span{font-size:9px;letter-spacing:.16em;color:#666}.contact-meta strong{font-size:13px;font-weight:400}.contact-meta small{font-size:10px;color:#666}.contact-form label:not(.checkbox){display:block;margin-bottom:44px}.contact-form label>span:first-child{display:block;font-size:10px;letter-spacing:.12em;color:#777;margin-bottom:12px}.contact-form b{font-weight:400}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #353535;background:transparent;padding:9px 0 13px;outline:none;border-radius:0;transition:.3s}.contact-form textarea{resize:vertical}.contact-form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#777 50%),linear-gradient(135deg,#777 50%,transparent 50%);background-position:calc(100% - 10px) 50%,calc(100% - 5px) 50%;background-size:5px 5px;background-repeat:no-repeat}.contact-form select option{background:#111}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#a28fff}.field-error{display:none;color:#d98787;font-size:9px;margin-top:8px}.invalid>.field-error,.privacy-invalid+.privacy-error{display:block}.invalid input,.invalid select,.invalid textarea{border-color:#a95858!important}.checkbox{display:flex;align-items:center;gap:12px;font-size:11px;color:#888;cursor:pointer}.checkbox input{position:absolute;opacity:0}.checkbox i{width:16px;height:16px;border:1px solid #555;position:relative}.checkbox input:checked+i:after{content:"";position:absolute;width:7px;height:4px;border-left:1px solid #fff;border-bottom:1px solid #fff;transform:rotate(-45deg);left:4px;top:4px}.checkbox a{color:#fff;border-bottom:1px solid #777}.submit-button{margin-top:48px;width:100%;height:78px;border:1px solid #696969;background:transparent;display:flex;align-items:center;justify-content:space-between;padding:0 30px;font-size:11px;letter-spacing:.16em;transition:.35s}.submit-button:hover{background:#f2f0eb;color:#060606}.submit-button i{font-style:normal;font-size:17px}.form-status{min-height:25px;font-size:11px;color:#aaa;margin-top:18px}.legal-hero{min-height:66vh}.legal-hero h1{font-size:clamp(62px,10vw,140px);line-height:.9}.legal-content{padding-left:max(var(--pad),20vw);padding-right:max(var(--pad),20vw)}.legal-lead{font-size:15px;line-height:2.3;color:#aaa;margin:0 0 100px}.legal-content section{display:grid;grid-template-columns:70px 1fr;border-top:1px solid var(--line);padding:50px 0}.legal-content section>span{font-size:9px;color:#5e5e5e}.legal-content section h2{font-size:21px;font-weight:300;margin:0 0 20px;letter-spacing:-.02em}.legal-content section p{grid-column:2;font-size:13px;color:#898784;margin:0;line-height:2.1}.legal-content section a{border-bottom:1px solid #777;color:#fff}.legal-date{text-align:right;margin-top:70px;font-size:10px;color:#686868}.notice-main{min-height:calc(100vh - 190px)}.notice-box{margin:90px var(--pad) 130px;margin-left:max(var(--pad),20vw);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0 65px}.notice-box span{font-size:9px;color:#555;letter-spacing:.14em}.notice-box p{font-size:clamp(18px,2vw,28px);margin:40px 0 0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){:root{--header:76px}.desktop-nav{display:none}.menu-toggle{display:block;margin-left:13px}.hero{align-items:flex-end;padding-bottom:120px}.hero-copy{width:100%}.hero-logo{width:95vw;right:-33vw;top:40%;opacity:.43}.hero h1{font-size:clamp(54px,14vw,92px)}.hero-lead{font-size:12px}.statement-inner{margin-left:10%;display:block}.statement-inner>.section-label{margin-bottom:40px}.statement-copy{margin:55px 0 0 15%}.service-list,.services-head{margin-left:10%}.service-item{grid-template-columns:48px 1fr 30px;min-height:150px}.service-item p{padding-right:10px}.site-footer{grid-template-columns:1fr 1fr;gap:35px}.site-footer .footer-links{grid-row:2;grid-column:1/-1}.company-intro,.profile{grid-template-columns:10% 1fr}.contact-layout{grid-template-columns:1fr;gap:100px}.contact-aside{position:static}.legal-content{padding-left:var(--pad);padding-right:var(--pad)}}
@media(max-width:560px){.hero{min-height:830px}.hero h1{font-size:14.5vw}.hero-logo{top:40%;width:125vw;right:-50vw}.scroll-cue{display:none}.section{padding-top:110px;padding-bottom:110px}.section-index{top:110px}.statement-inner,.services-head,.service-list{margin-left:32px}.statement h2{font-size:38px}.statement-copy{margin-left:0}.service-item{grid-template-columns:34px 1fr 20px;padding:26px 0}.service-item>span{padding-top:7px}.service-item h3{font-size:22px}.service-item p{font-size:10px;line-height:1.8}.contact-cta{min-height:700px}.contact-cta h2{font-size:14vw}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center}.site-footer .footer-links{order:3;width:100%;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding-top:28px}.page-hero{min-height:580px;padding-bottom:60px}.page-hero h1{font-size:17vw}.company-intro,.profile{display:block}.company-intro>.section-index,.profile>.section-index{display:none}.wide-copy{margin-top:55px}.profile-list>div{grid-template-columns:38% 1fr}.contact-layout{padding-top:90px}.legal-content section{grid-template-columns:40px 1fr}.legal-content section p{grid-column:1/-1;margin-top:20px}.legal-lead{margin-bottom:70px}.legal-hero h1{font-size:15vw}.circle-link{width:120px;height:120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.scroll-cue i:after{animation:none}}

/* Readability and requested layout refinements */
.desktop-nav a{font-size:12px}.lang-toggle{font-size:12px}.eyebrow,.section-label{font-size:12px}.section-index{font-size:11px;color:#777}.scroll-cue span{font-size:10px;color:#999}.service-item>span{font-size:11px;color:#888}.service-item p{font-size:14px;color:#a09e9a;line-height:1.9}.site-footer .footer-links a,.site-footer>p{font-size:11px;color:#aaa}.page-kicker{font-size:13px;color:#aaa}.profile-list dt{font-size:12px;color:#999}.profile-list dd{font-size:15px}.contact-meta span{font-size:11px;color:#999}.contact-meta small{font-size:12px;color:#999}.contact-form label>span:first-child{font-size:12px;color:#aaa}.field-error{font-size:11px}.checkbox{font-size:13px}.notice-box span{font-size:11px;color:#888}.legal-date{font-size:12px;color:#888}
.hero-copy{width:55%}.hero h1{margin:0}.hero-logo{width:min(50vw,680px);right:2vw;top:50%;transform:translateY(-50%);opacity:.68}.hero-logo img{object-fit:contain}
.contact-cta .cta-single-line{font-size:clamp(30px,4.3vw,62px);letter-spacing:-.055em;white-space:nowrap}
.footer-logo{display:block;width:148px;height:64px;overflow:hidden}.footer-logo img{display:block;width:148px;height:auto;transform:translateY(-39px)}
.profile,.leadership{display:grid;grid-template-columns:16% minmax(0,1fr)}.company-section-body{grid-column:2;min-width:0;width:100%;max-width:1100px}.leadership h2{font-size:clamp(42px,6vw,88px);font-weight:300;letter-spacing:-.055em;margin:20px 0 70px}.people-list{border-top:1px solid var(--line)}.person-card{display:grid;grid-template-columns:31% minmax(0,1fr);gap:40px;padding:52px 0;border-bottom:1px solid var(--line)}.person-role{display:flex;gap:28px;align-items:flex-start}.person-role span{font-size:11px;color:#777;letter-spacing:.12em;padding-top:3px}.person-role p{font-size:13px;letter-spacing:.1em;margin:0}.person-details h3{font-size:clamp(22px,2.2vw,32px);font-weight:300;letter-spacing:-.035em;margin:0 0 20px}.person-details p{font-size:14px;color:#999;line-height:2;margin:0}
html[lang=en] .cta-single-line{white-space:normal}
@media(max-width:900px){.hero-logo{width:94vw;right:0;top:39%;opacity:.52}.profile,.leadership{grid-template-columns:10% minmax(0,1fr)}.company-section-body{grid-column:2}.person-card{grid-template-columns:35% minmax(0,1fr)}}
@media(max-width:560px){.hero{min-height:760px}.hero-logo{width:100vw;right:0;top:38%}.hero-copy{width:100%}.service-item p{font-size:12px}.contact-cta .cta-single-line{font-size:clamp(27px,7.2vw,40px)}.footer-logo{width:124px;height:54px}.footer-logo img{width:124px;transform:translateY(-33px)}.profile,.leadership{display:block}.company-section-body{width:100%}.person-card{grid-template-columns:1fr;gap:25px;padding:40px 0}.person-role{justify-content:space-between}.person-details h3{font-size:24px}}

/* Final accessible type scale */
body{font-size:16px}
.desktop-nav a{font-size:14px}.lang-toggle{font-size:14px}.mobile-menu>p{font-size:14px}
.eyebrow,.section-label{font-size:14px;line-height:1.6}.section-index{font-size:14px;color:#aaa}
.text-link{font-size:14px}.scroll-cue span{font-size:14px;color:#bbb}
.service-item>span{font-size:14px;color:#aaa}.service-item p{font-size:16px;color:#b3b1ad}.circle-link{font-size:14px}
.site-footer .footer-links a,.site-footer>p{font-size:14px;color:#bbb}
.page-kicker{font-size:15px;color:#bbb}.profile-list dt{font-size:14px;color:#aaa}.profile-list dd{font-size:16px}
.contact-aside>p:not(.section-label){font-size:16px;color:#aaa}.contact-meta span{font-size:14px;color:#aaa}.contact-meta strong{font-size:16px}.contact-meta small{font-size:14px;color:#aaa}
.contact-form label>span:first-child{font-size:14px;color:#bbb}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:16px}.field-error{font-size:14px}.checkbox{font-size:14px}.submit-button{font-size:14px}.form-status{font-size:14px}
.legal-lead{font-size:17px}.legal-content section>span{font-size:14px;color:#aaa}.legal-content section h2{font-size:24px}.legal-content section p{font-size:16px;color:#aaa}.legal-date{font-size:14px;color:#aaa}
.notice-box span{font-size:14px;color:#aaa}.person-role span{font-size:14px;color:#aaa}.person-role p{font-size:15px}.person-details p{font-size:16px;color:#aaa}
@media(max-width:560px){.service-item p{font-size:15px}.service-item>span{font-size:14px}.site-footer .footer-links a,.site-footer>p{font-size:14px}.profile-list dt{font-size:14px}.profile-list dd{font-size:16px}.legal-content section p{font-size:16px}}

/* Logo placement */
.site-header .wordmark{display:block;width:116px;height:52px;overflow:hidden;font-size:0;background-image:url("logo.png");background-repeat:no-repeat;background-size:116px 116px;background-position:center -31px;flex:0 0 auto}
.footer-logo{width:104px;height:46px;align-self:end}.footer-logo img{width:104px;transform:translateY(-28px)}
@media(max-width:560px){.site-header .wordmark{width:100px;height:44px;background-size:100px 100px;background-position:center -27px}.site-footer{display:grid;grid-template-columns:1fr auto;align-items:end}.site-footer .footer-links{grid-column:1/-1;grid-row:1;order:initial;margin-bottom:32px}.footer-logo{grid-column:1;grid-row:2;width:92px;height:40px}.footer-logo img{width:92px;transform:translateY(-25px)}.site-footer>p{grid-column:2;grid-row:2}}

.service-item{grid-template-columns:72px minmax(0,1fr)}.service-item>i{display:none}
@media(max-width:900px){.service-item{grid-template-columns:48px minmax(0,1fr)}}
@media(max-width:560px){.service-item{grid-template-columns:34px minmax(0,1fr)}}

/* Compact footer */
.site-footer{min-height:120px;padding:28px var(--pad)}
@media(max-width:560px){.site-footer{min-height:0;padding-top:28px;padding-bottom:28px}.site-footer .footer-links{margin-bottom:24px}}

/* Service typography balance */
.section-index,.service-item>span,.person-role span,.legal-content section>span,.notice-box span{font-size:24px;line-height:1;font-weight:400}
.services-head h2{font-size:clamp(48px,7vw,96px)}
.service-item h3{font-size:clamp(20px,2.2vw,30px)}
.service-item p{font-size:15px}
@media(max-width:560px){.section-index,.service-item>span,.person-role span,.legal-content section>span,.notice-box span{font-size:20px}.services-head h2{font-size:46px}.service-item h3{font-size:21px}.service-item p{font-size:14px}}

/* Scroll-drawn brand light */
.light-trail{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;opacity:.72;mix-blend-mode:screen;filter:drop-shadow(0 0 10px rgba(130,92,255,.3));transition:filter .7s ease,opacity .5s ease}
.light-trail svg{position:absolute;inset:0;display:block;width:100%;height:100%}.trail-path,.trail-echo{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}.trail-path{stroke:url(#vibes-trail-gradient)}.trail-glow{stroke-width:22;opacity:.68;filter:url(#vibes-trail-glow)}.trail-core{stroke-width:5;opacity:.3;filter:blur(3px) drop-shadow(0 0 7px rgba(255,255,255,.55)) drop-shadow(0 0 18px rgba(134,96,255,.7))}.trail-echo{stroke:#8b78ff;stroke-width:4;opacity:.13;filter:blur(3px) drop-shadow(0 0 12px rgba(117,96,255,.5))}
main,.site-footer{position:relative;z-index:2}.site-footer{background:rgba(5,5,5,.88);backdrop-filter:blur(12px)}
.trail-stop-start,.trail-stop-mid,.trail-stop-end{transition:stop-color .65s ease}
body[data-trail-tone="1"] .trail-stop-start{stop-color:#ffcf8c}body[data-trail-tone="1"] .trail-stop-end{stop-color:#8ab7ff}
body[data-trail-tone="2"] .trail-stop-start{stop-color:#ff75b7}body[data-trail-tone="2"] .trail-stop-end{stop-color:#8c6dff}
body[data-trail-tone="3"] .trail-stop-start{stop-color:#77e4ff}body[data-trail-tone="3"] .trail-stop-end{stop-color:#6255ff}
body[data-trail-tone="4"] .trail-stop-start{stop-color:#ffb16b}body[data-trail-tone="4"] .trail-stop-end{stop-color:#d36cff}
.services{overflow:hidden}.services .services-head,.services .service-list{position:relative;z-index:2}.services>.section-index{left:auto;right:-.025em;top:clamp(80px,9vw,135px);z-index:0;font-size:clamp(190px,27vw,410px);font-weight:300;line-height:.78;letter-spacing:-.1em;color:rgba(255,255,255,.045)}
.service-item{overflow:hidden}.service-item:after{content:"";position:absolute;width:42%;height:1px;left:72px;bottom:-1px;background:linear-gradient(90deg,transparent,#a996ff,transparent);opacity:0;transform:translateX(-150%);transition:opacity .35s,transform .7s ease}.service-item:hover:after{opacity:.8;transform:translateX(240%)}
.contact-cta{--cta-energy:0}.contact-cta .cta-glow{opacity:calc(.2 + var(--cta-energy) * .8);transform:scale(calc(.8 + var(--cta-energy) * .35));transition:opacity .2s linear,transform .2s linear}.contact-cta:before{content:"";position:absolute;width:56vw;height:56vw;border:1px solid rgba(142,113,255,.15);border-radius:50%;transform:scale(calc(.72 + var(--cta-energy) * .28));opacity:calc(.12 + var(--cta-energy) * .55);transition:opacity .2s linear,transform .2s linear}
@media(max-width:900px){.light-trail{opacity:.62}.services>.section-index{font-size:clamp(150px,35vw,260px)}.service-item:after{left:48px}.contact-cta:before{width:90vw;height:90vw}}
@media(max-width:560px){.light-trail{opacity:.48;filter:drop-shadow(0 0 8px rgba(130,92,255,.3))}.trail-glow{stroke-width:17;opacity:.58}.trail-core{stroke-width:4;filter:blur(2.6px) drop-shadow(0 0 12px rgba(134,96,255,.65))}.services>.section-index{right:-.04em;top:90px;font-size:150px}.service-item:after{left:34px}.contact-cta:before{width:120vw;height:120vw}}
@media(prefers-reduced-motion:reduce){.light-trail,.trail-stop-start,.trail-stop-mid,.trail-stop-end,.contact-cta .cta-glow,.contact-cta:before{transition:none}.service-item:after{display:none}}

/* High-impact display typography */
.hero h1,.page-hero h1,.services-head h2,.profile h2,.leadership h2,.contact-aside h2,.contact-cta h2{font-family:"Arial Black","Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:700;font-feature-settings:"palt" 1;letter-spacing:-.075em}
.hero h1{line-height:.9;text-shadow:0 0 42px rgba(139,101,255,.13)}
.hero h1 em{font-weight:700;-webkit-text-stroke:2px rgba(255,255,255,.92);text-shadow:0 0 32px rgba(126,91,255,.25)}
.page-hero h1{letter-spacing:-.085em;text-transform:uppercase;text-shadow:0 0 46px rgba(123,82,255,.15)}
.services-head h2{letter-spacing:-.08em;line-height:.86}.service-item h3{font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-weight:700;letter-spacing:-.045em}
.contact-cta h2{font-weight:700;letter-spacing:-.07em;text-shadow:0 0 40px rgba(132,93,255,.18)}
.profile h2,.leadership h2,.contact-aside h2{letter-spacing:-.065em}
.eyebrow,.section-label,.desktop-nav a,.page-kicker{font-weight:700;letter-spacing:.16em}
@media(max-width:560px){.hero h1 em{-webkit-text-stroke:1.4px rgba(255,255,255,.92)}.hero h1,.page-hero h1{letter-spacing:-.065em}}

/* Spatial theater and kinetic typography */
.light-trail:before{content:"";position:absolute;inset:-18%;z-index:-1;background:radial-gradient(circle at var(--pointer-x,72%) var(--pointer-y,35%),rgba(150,103,255,.18),rgba(255,141,76,.07) 13%,transparent 32%);filter:blur(30px);transition:background-position .12s linear}
.hero{--hero-shift-left:0px;--hero-shift-right:0px;--hero-copy-y:0px;--hero-fade:1;--hero-scale:1;perspective:1200px}
.hero-copy{transform:translate3d(0,var(--hero-copy-y),0);opacity:var(--hero-fade);will-change:transform,opacity}
.hero h1>span,.hero h1>em{display:inline-block;will-change:transform,filter;transition:filter .35s ease}.hero h1>span{transform:translate3d(var(--hero-shift-left),0,0)}.hero h1>em{transform:translate3d(var(--hero-shift-right),0,0)}
.hero h1:hover>span{filter:drop-shadow(14px 0 18px rgba(255,149,88,.2))}.hero h1:hover>em{filter:drop-shadow(-14px 0 20px rgba(124,91,255,.32))}
.hero-logo{--logo-tilt-x:0deg;--logo-tilt-y:0deg;transform:translateY(-50%) rotateX(var(--logo-tilt-x)) rotateY(var(--logo-tilt-y)) scale(var(--hero-scale));transform-style:preserve-3d;will-change:transform;transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.hero-logo:after{content:"";position:absolute;inset:24%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.13),rgba(118,77,255,.07) 35%,transparent 68%);transform:translateZ(-40px);filter:blur(22px)}
.service-item{--service-x:70%;--service-y:50%;isolation:isolate;transition:padding-left .45s cubic-bezier(.2,.8,.2,1),background-color .45s ease}.service-item:before{z-index:-1;background:radial-gradient(circle 230px at var(--service-x) var(--service-y),rgba(142,102,255,.17),rgba(255,142,81,.055) 38%,transparent 72%);transform:none;opacity:0;transition:opacity .45s ease}.service-item:hover:before,.service-item.is-current:before{opacity:1}.service-item:hover{padding-left:14px}.service-item>div{position:relative;isolation:isolate}.service-item>div:before{content:attr(data-ghost);position:absolute;z-index:-1;right:1vw;top:50%;transform:translateY(-50%) translateX(5%);font-family:"Arial Black","Helvetica Neue",sans-serif;font-size:clamp(54px,8vw,124px);font-weight:900;line-height:.8;letter-spacing:-.08em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.035);opacity:0;transition:opacity .5s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.service-item:hover>div:before,.service-item.is-current>div:before{opacity:1;transform:translateY(-50%) translateX(0)}
.service-item h3{transition:transform .45s cubic-bezier(.2,.8,.2,1),text-shadow .45s ease}.service-item:hover h3{transform:translateX(10px);text-shadow:0 0 28px rgba(151,111,255,.3)}
.contact-cta h2{transform:scale(calc(.97 + var(--cta-energy) * .03));transition:transform .2s linear,text-shadow .2s linear}.contact-cta:hover h2{text-shadow:0 0 25px rgba(255,255,255,.14),0 0 65px rgba(130,91,255,.42)}
@media(max-width:900px){.service-item:hover{padding-left:0}.service-item>div:before{font-size:clamp(42px,12vw,88px);right:0}.hero-logo{--logo-tilt-x:0deg!important;--logo-tilt-y:0deg!important}}
@media(max-width:560px){.light-trail:before{inset:-8%;filter:blur(22px)}.service-item>div:before{font-size:46px;opacity:.55}.service-item:hover h3{transform:none}.hero h1>span,.hero h1>em{transform:none}.hero-copy{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero h1>span,.hero h1>em,.hero-logo,.service-item,.service-item>div:before,.service-item h3,.contact-cta h2{transform:none!important;transition:none}}

/* Poster-grade display type */
.hero h1,.page-hero h1,.services-head h2,.contact-cta h2{font-family:Impact,"Arial Black","Hiragino Kaku Gothic StdN","Hiragino Sans",sans-serif;font-weight:900;font-stretch:condensed;letter-spacing:-.085em}
.hero h1{font-size:clamp(64px,9.2vw,142px);line-height:.84}.hero h1>span{color:transparent;background:linear-gradient(105deg,#fff 8%,#c9c0ff 47%,#fff 72%,#ffcfaa 100%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 10px 28px rgba(117,82,255,.2))}
.hero h1 em{font-family:Impact,"Arial Black","Hiragino Kaku Gothic StdN","Hiragino Sans",sans-serif;font-weight:900;-webkit-text-stroke:2.5px rgba(255,255,255,.96);letter-spacing:-.085em}
.page-hero h1{font-size:clamp(78px,13vw,194px);line-height:.78;color:transparent;background:linear-gradient(110deg,#fff 5%,#aaa4bd 46%,#fff 68%,#9a7bff 100%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 16px 38px rgba(112,75,255,.16))}
.services-head h2{font-size:clamp(58px,8.2vw,116px);line-height:.78;text-transform:uppercase;text-shadow:3px 3px 0 rgba(125,89,255,.2)}
.service-item h3{font-family:"Arial Black","Hiragino Kaku Gothic StdN","Hiragino Sans",sans-serif;font-weight:900;letter-spacing:-.055em}
.profile h2,.leadership h2,.contact-aside h2{font-family:"Arial Black","Hiragino Kaku Gothic StdN","Hiragino Sans",sans-serif;font-weight:900;letter-spacing:-.07em}
.contact-cta h2{font-weight:900;line-height:.88;text-shadow:2px 2px 0 rgba(124,87,255,.22),0 0 46px rgba(124,87,255,.2)}
.section-label,.eyebrow,.page-kicker{font-family:"Arial Black","Helvetica Neue",sans-serif;font-weight:900;letter-spacing:.2em}
@media(max-width:560px){.hero h1{font-size:15.5vw;line-height:.88}.hero h1 em{-webkit-text-stroke:1.7px rgba(255,255,255,.96)}.page-hero h1{font-size:18vw}.services-head h2{font-size:50px}.contact-cta h2{line-height:.94}}

/* Opaque header and gold art direction */
:root{--accent:#d9ad55;--warm:#ffd18a}
.site-header{background:#000;border-bottom-color:rgba(226,183,94,.2);box-shadow:0 12px 32px rgba(0,0,0,.34)}
.hero-logo{display:none}.hero-copy{width:100%}.light-trail{display:none!important}
.hero-orbit{border-color:rgba(224,180,88,.2)}.orbit-two{border-color:rgba(255,210,133,.13)}
.page-hero{background:radial-gradient(circle at 80% 30%,rgba(210,163,69,.13),transparent 32%)}
.hero h1>span{background:linear-gradient(105deg,#fff 8%,#f5d998 44%,#fff 70%,#c78a32 100%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 10px 30px rgba(209,157,55,.24))}
.hero h1 em{-webkit-text-stroke-color:rgba(255,226,166,.96);text-shadow:0 0 34px rgba(205,151,45,.3)}
.page-hero h1{background:linear-gradient(110deg,#fff 4%,#d8bf86 42%,#fff 67%,#c68c37 100%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 16px 40px rgba(203,151,50,.2))}
.services-head h2{letter-spacing:.035em;text-shadow:3px 3px 0 rgba(205,157,59,.22)}
.service-item h3{letter-spacing:.035em}.service-item p{letter-spacing:.025em}
.service-item:before{background:radial-gradient(circle 230px at var(--service-x) var(--service-y),rgba(224,178,83,.2),rgba(255,213,139,.06) 38%,transparent 72%)}
.service-item:hover h3{text-shadow:0 0 28px rgba(226,181,87,.3)}
.service-item:after{background:linear-gradient(90deg,transparent,#e4b85d,transparent)}
.contact-cta .cta-glow{background:radial-gradient(ellipse,rgba(218,165,61,.18),transparent 65%)}
.contact-cta:before{border-color:rgba(224,180,88,.2)}
.contact-cta h2{ text-shadow:2px 2px 0 rgba(195,143,43,.22),0 0 46px rgba(214,165,66,.2)}
.contact-cta:hover h2{text-shadow:0 0 25px rgba(255,243,215,.16),0 0 65px rgba(218,169,67,.42)}
@media(max-width:560px){.services-head h2{letter-spacing:.02em}.service-item h3{letter-spacing:.02em}}

/* Section-wide service flare */
.services{--services-x:70%;--services-y:45%;isolation:isolate}
.services:before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle 580px at var(--services-x) var(--services-y),rgba(239,202,125,.24) 0,rgba(211,157,55,.13) 34%,rgba(174,113,29,.05) 58%,transparent 76%);filter:blur(16px);mix-blend-mode:screen;opacity:0;transition:opacity .5s ease}
.services:hover:before{opacity:1}
.services .service-list{z-index:auto;background:transparent}.services .service-item{background:transparent!important;isolation:auto}.services .service-item:before{display:none}.services .services-head,.services .service-item>span,.services .service-item>div{position:relative;z-index:4}
@media(max-width:560px){.services:before{background:radial-gradient(circle 360px at var(--services-x) var(--services-y),rgba(231,187,96,.2),rgba(198,139,43,.08) 38%,transparent 76%);filter:blur(12px)}}

/* Bold service numbering */
.service-item{grid-template-columns:clamp(110px,12vw,180px) minmax(0,1fr);min-height:220px}
.service-item>span{align-self:center;padding-top:0;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(58px,7vw,100px);font-weight:900;line-height:.78;letter-spacing:-.06em;color:transparent;background:linear-gradient(145deg,#fff3cf 5%,#e0b458 48%,#9a6420 100%);background-clip:text;-webkit-background-clip:text;filter:drop-shadow(0 8px 24px rgba(210,159,58,.2))}
@media(max-width:900px){.service-item{grid-template-columns:100px minmax(0,1fr)}.service-item>span{font-size:64px}}
@media(max-width:560px){.service-item{grid-template-columns:72px minmax(0,1fr);min-height:180px}.service-item>span{font-size:48px}}

/* Align the full service section to the main content edge */
.services .services-head,.services .service-list{margin-left:0;width:100%}

/* Vibes logo-inspired visual system */
:root{--metal:#f2eee8;--metal-mid:#b9b4b2;--gold:#d8a64b;--gold-light:#ffe2a6;--violet:#8e69ff;--line:rgba(229,203,153,.2)}
body{background:radial-gradient(circle at 92% 3%,rgba(212,158,56,.08),transparent 25%),radial-gradient(circle at 5% 48%,rgba(123,82,255,.045),transparent 28%),#030303;color:var(--metal)}
.hero h1,.page-hero h1,.services-head h2,.profile h2,.leadership h2,.contact-aside h2,.contact-cta h2,.service-item h3{font-family:"Bodoni 72",Didot,"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-weight:700;font-stretch:normal}
.hero h1{letter-spacing:-.045em}.hero h1>span,.page-hero h1,.services-head h2,.profile h2,.leadership h2,.contact-aside h2,.contact-cta h2{color:transparent;background-image:linear-gradient(112deg,#fff 0%,#c9c3be 22%,#fff7e8 40%,#c89235 56%,#fff 72%,#9e8bc8 90%,#fff 100%);background-size:220% 100%;background-position:0 50%;background-clip:text;-webkit-background-clip:text;animation:metal-shine 8s ease-in-out infinite}
.hero h1 em{font-family:"Bodoni 72",Didot,"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-weight:700;letter-spacing:-.045em;-webkit-text-stroke:1.6px rgba(244,225,188,.9);text-shadow:0 0 22px rgba(218,166,75,.22),0 0 42px rgba(124,86,255,.12)}
.page-hero h1{letter-spacing:-.055em}.services-head h2{letter-spacing:.025em;text-shadow:none}.profile h2,.leadership h2,.contact-aside h2{letter-spacing:-.035em}
.service-item h3{letter-spacing:.015em;color:#f6f1e9;text-shadow:0 1px 0 rgba(255,255,255,.15)}
.eyebrow,.section-label,.page-kicker,.desktop-nav a{font-family:"Helvetica Neue","Hiragino Sans",sans-serif;letter-spacing:.19em}
@keyframes metal-shine{0%,18%{background-position:0 50%}52%,70%{background-position:100% 50%}100%{background-position:0 50%}}
.site-header{border-bottom:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(226,180,89,.45),rgba(149,119,218,.32),transparent) 1}.site-header .wordmark{filter:drop-shadow(0 0 10px rgba(218,164,64,.15))}
.section{border-bottom-color:transparent}.section:after{content:"";position:absolute;left:var(--pad);right:var(--pad);bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(232,194,119,.3) 22%,rgba(173,151,219,.2) 75%,transparent);pointer-events:none}
.services:after{z-index:5}.service-item{border-top-color:rgba(225,202,159,.2)}.service-item:last-child{border-bottom:1px solid rgba(225,202,159,.15)}
.service-item>span{font-family:"Bodoni 72",Didot,Georgia,serif;font-weight:700;letter-spacing:-.035em;background-image:linear-gradient(140deg,#fff 3%,#c9c3bd 30%,#ffe0a1 52%,#ad7727 72%,#b19ae4 100%);filter:drop-shadow(0 7px 20px rgba(210,159,58,.18))}
.service-item p,.wide-copy,.legal-content section p,.contact-aside>p:not(.section-label){color:#aaa5a0}
.circle-link{border-color:rgba(230,197,132,.65);box-shadow:inset 0 0 0 1px rgba(139,103,255,.08),0 0 24px rgba(214,162,60,.08)}.circle-link:before{background:linear-gradient(135deg,#fff8e9,#d7a74d 58%,#a788e9)}
.text-link{border-bottom-color:rgba(226,190,119,.7)}
.profile-list,.people-list{border-top-color:rgba(228,198,139,.25)}.profile-list>div,.person-card{border-bottom-color:rgba(228,198,139,.18)}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{border-bottom-color:rgba(222,199,154,.28)}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold);box-shadow:0 8px 18px -16px rgba(227,180,84,.9)}
.submit-button{border-color:rgba(229,194,125,.65)}.submit-button:hover{background:linear-gradient(110deg,#fff8e9,#dcae58 64%,#ab91e8);color:#080604}
.site-footer{border-top:1px solid transparent;border-image:linear-gradient(90deg,transparent,rgba(226,180,89,.38),rgba(145,113,218,.26),transparent) 1;background:rgba(3,3,3,.94)}
@media(prefers-reduced-motion:reduce){.hero h1>span,.page-hero h1,.services-head h2,.profile h2,.leadership h2,.contact-aside h2,.contact-cta h2{animation:none;background-position:50% 50%}}
@media(max-width:560px){.hero h1{letter-spacing:-.025em}.hero h1 em{letter-spacing:-.025em;-webkit-text-stroke:1.2px rgba(244,225,188,.9)}.section:after{left:24px;right:24px}}

/* Restore bold display type */
.hero h1,.page-hero h1,.services-head h2,.contact-cta h2{font-family:Impact,"Arial Black","Hiragino Kaku Gothic StdN","Hiragino Sans",sans-serif;font-weight:900;font-stretch:condensed}
.profile h2,.leadership h2,.contact-aside h2,.service-item h3{font-family:"Arial Black","Hiragino Kaku Gothic StdN","Hiragino Sans",sans-serif;font-weight:900}
.hero h1 em{font-family:Impact,"Arial Black","Hiragino Kaku Gothic StdN","Hiragino Sans",sans-serif;font-weight:900}

/* Three-column service layout */
.services>.section-index{display:none}
.services .service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(225,202,159,.2)}
.services .service-item{display:block;min-width:0;min-height:370px;padding:36px 30px;border-top:0;border-right:1px solid rgba(225,202,159,.2)}
.services .service-item:last-child{border-right:0}.services .service-item:hover{padding-left:30px}
.services .service-item>span{display:block;margin-bottom:62px;font-size:clamp(60px,6.5vw,92px)}
.services .service-item h3{font-size:clamp(20px,2vw,28px);line-height:1.4;margin-bottom:20px}.services .service-item p{line-height:2}
@media(max-width:900px){.services .service-list{grid-template-columns:1fr}.services .service-item{min-height:0;padding:34px 22px;border-right:0}.services .service-item:hover{padding-left:22px}.services .service-item>span{margin-bottom:28px;font-size:58px}}

/* Inverted service hover */
.services .service-item{transition:background .16s ease-out,color .14s ease-out,padding-left .22s cubic-bezier(.2,.8,.2,1)}
.services .service-item h3,.services .service-item p,.services .service-item>span{transition:color .14s ease-out,background .14s ease-out,text-shadow .16s ease-out,filter .14s ease-out,transform .22s cubic-bezier(.2,.8,.2,1)}
.services .service-item:hover{background:linear-gradient(135deg,#fff5d9 0%,#dfb45c 48%,#ad7629 78%,#8d6cbf 118%)!important;color:#090705}
.services .service-item:hover h3{color:#090705;text-shadow:0 1px 0 rgba(255,255,255,.3)}
.services .service-item:hover p{color:#2d2316}
.services .service-item:hover>span{color:transparent;background-image:linear-gradient(145deg,#090705 5%,#4b3518 48%,#75531e 100%);filter:none}
.services .service-item:hover>div:before{-webkit-text-stroke-color:rgba(20,14,7,.11)}

/* Keep service color inversion perfectly synchronized */
.services .service-item{background-color:rgba(255,250,239,.018)!important;background-image:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,0))!important;transition:background-color .14s ease-out,color .14s ease-out,box-shadow .14s ease-out,padding-left .22s cubic-bezier(.2,.8,.2,1)}
.services .service-item h3,.services .service-item p,.services .service-item>span{transition:color .14s ease-out,background-color .14s ease-out,text-shadow .14s ease-out,filter .14s ease-out,transform .22s cubic-bezier(.2,.8,.2,1)}
.services .service-item:hover{background-color:#dcb15b!important;background-image:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,0))!important}

/* Refined, unclipped services title */
.services-head h2{font-family:"Avenir Next Condensed","Avenir Next","Helvetica Neue","Hiragino Sans",sans-serif;font-weight:300;font-stretch:normal;letter-spacing:.12em;line-height:1.08;padding-top:.1em;padding-bottom:.14em}
@media(max-width:560px){.services-head h2{letter-spacing:.08em;line-height:1.06;padding-top:.12em;padding-bottom:.16em}}

/* Minimal contact text link */
.circle-link{width:auto;height:auto;border:0;border-bottom:1px solid rgba(226,190,119,.72);border-radius:0;box-shadow:none;padding:6px 2px 10px;gap:0}
.circle-link:before,.circle-link i{display:none}.circle-link:hover{color:var(--gold-light);border-color:var(--gold-light)}

/* Refined service numerals */
.services .service-item>span{font-family:"Avenir Next Condensed","Avenir Next","Helvetica Neue",sans-serif;font-weight:700;letter-spacing:.06em;line-height:.9}
.services .service-item>span{font-size:clamp(82px,8.5vw,124px)}
@media(max-width:900px){.services .service-item>span{font-size:76px}}
@media(max-width:560px){.services .service-item>span{font-size:66px}}

/* Services heading hierarchy */
.services .services-head{display:block}
.services .services-head .section-label{font-size:18px;line-height:1.5;margin:0 0 22px;letter-spacing:.2em}
@media(max-width:560px){.services .services-head .section-label{font-size:16px;margin-bottom:18px}}

/* Contact orbit appears only on hover */
.circle-link{position:relative;isolation:isolate}
.circle-link:after{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:118px;height:118px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 12%,rgba(255,226,166,.95) 20%,rgba(211,161,62,.35) 30%,transparent 43%,rgba(142,105,255,.72) 58%,transparent 72%,rgba(224,180,88,.8) 90%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));opacity:0;transform:translate(-50%,-50%);transition:opacity .2s ease;filter:drop-shadow(0 0 7px rgba(216,167,69,.4))}
.circle-link:hover:after{opacity:1;animation:contact-orbit-spin 1.8s linear infinite}
@keyframes contact-orbit-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.circle-link:hover:after{animation:none}}

/* Rotate the large section orbit from the CONTACT text */
.circle-link:after{display:none}
.contact-cta:before{border:0;background:conic-gradient(from 15deg,transparent 0 8%,#ffe6ad 14%,#d99f35 22%,transparent 31%,#fff5dd 39%,#8e69ff 48%,transparent 58%,#e7b954 67%,#fff0c6 74%,transparent 83%,#a782ff 91%,#e2ab46 97%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 3px));filter:drop-shadow(0 0 8px rgba(255,236,196,.7)) drop-shadow(0 0 24px rgba(215,165,67,.58)) drop-shadow(0 0 42px rgba(142,105,255,.28));transform-origin:center}
.contact-cta>p,.contact-cta>h2,.contact-cta>a{position:relative;z-index:1}
.contact-cta:has(.circle-link:hover):before{opacity:1;animation:contact-section-orbit 1.65s linear infinite}
.contact-cta:has(.circle-link:hover) .cta-glow{animation:contact-glow-pulse .72s ease-in-out infinite alternate}
@keyframes contact-section-orbit{from{transform:rotate(0deg) scale(calc(.72 + var(--cta-energy) * .28))}to{transform:rotate(360deg) scale(calc(.72 + var(--cta-energy) * .28))}}
@keyframes contact-glow-pulse{from{opacity:.38;filter:blur(18px);transform:scale(.9)}to{opacity:1;filter:blur(30px);transform:scale(1.2)}}
@media(prefers-reduced-motion:reduce){.contact-cta:has(.circle-link:hover):before,.contact-cta:has(.circle-link:hover) .cta-glow{animation:none}}

/* Keep the full orbit and its glow inside the section */
.contact-cta:before{width:min(56vw,68vh);height:min(56vw,68vh)}
@media(max-width:900px){.contact-cta:before{width:min(90vw,68vh);height:min(90vw,68vh)}}
@media(max-width:560px){.contact-cta:before{width:min(112vw,66vh);height:min(112vw,66vh)}}

/* Preserve the large orbit by expanding the section instead */
.contact-cta{min-height:max(100vh,calc(56vw + 170px))}
.contact-cta:before{width:56vw;height:56vw}
@media(max-width:900px){.contact-cta{min-height:max(100vh,calc(90vw + 150px))}.contact-cta:before{width:90vw;height:90vw}}
@media(max-width:560px){.contact-cta{min-height:max(700px,calc(120vw + 140px))}.contact-cta:before{width:120vw;height:120vw}}

/* Prevent the contact headline from clipping */
.contact-cta h2{line-height:1.08;padding-top:.12em;padding-bottom:.16em}
@media(max-width:560px){.contact-cta h2{line-height:1.06;padding-top:.14em;padding-bottom:.18em}}

/* Ensure the animated service border remains visible after card refinements */
.services .service-item:after{display:block}

/* Large transparent logo artwork in the home hero */
body[data-page="home"] .hero:before{content:"";position:absolute;z-index:1;inset:0;background-image:url("logo_no-background.png");background-repeat:no-repeat;background-position:center 48%;background-size:110% auto;opacity:.62;filter:saturate(1.08) contrast(1.04) drop-shadow(0 0 28px rgba(215,165,67,.16));pointer-events:none}
body[data-page="home"] .hero-copy{z-index:3}
.services-head h2{font-weight:400}
@media(max-width:900px){body[data-page="home"] .hero:before{background-size:auto 76vh;background-position:54% 43%;opacity:.52}}
@media(max-width:560px){body[data-page="home"] .hero:before{background-size:auto 68vh;background-position:51% 38%;opacity:.46}.services-head h2{font-weight:400}}

/* Right-aligned hero artwork below the header */
body[data-page="home"] .hero:before{top:var(--header);bottom:0;left:0;right:0;background-size:min(72vw,1100px) auto;background-position:right 2vw center}
@media(max-width:900px){body[data-page="home"] .hero:before{background-size:92% auto;background-position:right 1vw center}}
@media(max-width:560px){body[data-page="home"] .hero:before{background-size:auto 52vh;background-position:62% center}}

.services .services-head h2{width:100%;text-align:center;justify-self:center}

/* Fixed-position, left-to-right hero logo reveal */
body[data-page="home"] .hero:before{background-position:right -18vw center;clip-path:inset(0 100% 0 0);animation:hero-logo-reveal 2.2s .35s cubic-bezier(.22,.75,.18,1) forwards;will-change:clip-path}
@keyframes hero-logo-reveal{to{clip-path:inset(0 0 0 0)}}
@media(max-width:900px){body[data-page="home"] .hero:before{background-position:right -25vw center}}
@media(max-width:560px){body[data-page="home"] .hero:before{background-position:right -40vw center}}
@media(prefers-reduced-motion:reduce){body[data-page="home"] .hero:before{clip-path:none;animation:none}}

/* Extra-large, further-right hero artwork */
body[data-page="home"] .hero:before{background-size:min(160vw,2400px) auto;background-position:right -75vw center}
@media(max-width:900px){body[data-page="home"] .hero:before{background-size:200% auto;background-position:right -100vw center}}
@media(max-width:560px){body[data-page="home"] .hero:before{background-size:280% auto;background-position:right -150vw center}}

/* Separate hero copy and artwork into left/right zones */
body[data-page="home"] .hero:before{left:55%;right:0;top:var(--header);bottom:0;background-size:auto 112%;background-position:left center}
body[data-page="home"] .hero-copy{width:64%;max-width:820px}
body[data-page="home"] .hero h1{font-size:clamp(58px,7.5vw,108px)}
@media(max-width:900px){body[data-page="home"] .hero:before{left:52%;background-size:auto 96%;background-position:left center;opacity:.42}body[data-page="home"] .hero-copy{width:66%}body[data-page="home"] .hero h1{font-size:clamp(50px,9vw,74px)}}
@media(max-width:560px){body[data-page="home"] .hero:before{left:48%;background-size:auto 76%;background-position:left center;opacity:.3}body[data-page="home"] .hero-copy{width:76%}body[data-page="home"] .hero h1{font-size:11.5vw}}

/* Quiet contact orbit at rest, vivid on hover */
.contact-cta:before{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));opacity:.16;filter:drop-shadow(0 0 5px rgba(215,165,67,.14));transition:opacity .2s ease,filter .2s ease}
.contact-cta:has(.circle-link:hover):before{-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 3px));opacity:1;filter:drop-shadow(0 0 9px rgba(255,236,196,.72)) drop-shadow(0 0 26px rgba(215,165,67,.6)) drop-shadow(0 0 44px rgba(142,105,255,.3))}

/* Keep WHAT WE DO above SERVICES */
.services .services-head{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto!important;align-items:start!important;justify-items:start!important}
.services .services-head .section-label{display:block;grid-column:1;grid-row:1;margin:0 0 22px}
.services .services-head h2{display:block;grid-column:1;grid-row:2}

/* Animated service numerals and orbiting borders */
@property --service-border-angle{syntax:"<angle>";initial-value:0deg;inherits:true}
.services .service-item>span{transform-origin:left center;will-change:transform}
.services .service-item:hover>span{transform:scale(1.14) translateX(3px)}
.services .service-item:after{content:"";display:block;position:absolute;z-index:6;inset:0;width:auto;height:auto;left:0;bottom:0;padding:2px;pointer-events:none;box-sizing:border-box;background:conic-gradient(from var(--service-border-angle),transparent 0 14%,#ffe8b5 20%,#d99f38 27%,transparent 36%,#9a76ff 48%,transparent 59%,#f2c66d 72%,#fff4d9 79%,transparent 90%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;opacity:0;transform:none;filter:drop-shadow(0 0 7px rgba(223,172,72,.55));transition:opacity .14s ease-out}
.services .service-item:after{opacity:.42;animation:service-border-orbit 2.8s linear infinite}
.services .service-item:hover:after{opacity:1;transform:none;animation-duration:1.65s}
@keyframes service-border-orbit{to{--service-border-angle:360deg}}
@media(prefers-reduced-motion:reduce){.services .service-item:after{animation:none}.services .service-item:hover>span{transform:none}}

/* Prevent heavy hero glyphs from clipping */
.hero h1{line-height:1.04;padding-top:.1em;padding-bottom:.14em}
@media(max-width:560px){.hero h1{line-height:1.02;padding-top:.12em;padding-bottom:.16em}}

/* Refined services presentation */
.services{padding-bottom:clamp(100px,12vw,170px)}
.services .services-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:64px;padding-right:2px}
.services .services-head .section-label{margin:0 0 8px}.services .services-head h2{margin:0}
.services .service-list{gap:14px;border-top:0}
.services .service-item{min-height:390px;padding:42px 34px;border:1px solid rgba(229,204,157,.2);background:linear-gradient(145deg,rgba(255,250,239,.025),rgba(255,255,255,.008))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden}
.services .service-item:last-child{border-right:1px solid rgba(229,204,157,.2)}
.services .service-item:after{display:none}
.services .service-item>div:before{display:none}
.services .service-item>span{margin-bottom:78px;font-size:clamp(62px,6vw,86px);opacity:.82}
.services .service-item h3{font-size:clamp(21px,1.8vw,27px);letter-spacing:.045em;line-height:1.5;margin-bottom:24px}
.services .service-item p{max-width:30em;color:#9f9a93;line-height:2.05}
.services .service-item:hover{padding:42px 34px;background:linear-gradient(145deg,#fff8e5 0%,#e4bb68 54%,#bd8736 100%)!important;box-shadow:0 20px 70px rgba(183,125,36,.16),inset 0 1px 0 rgba(255,255,255,.55)}
.services .service-item:hover h3{transform:translateX(4px)}
.services .service-item:hover p{color:#302719}
@media(max-width:900px){.services .services-head{display:block;margin-bottom:45px}.services .services-head .section-label{margin-bottom:18px}.services .service-list{gap:10px}.services .service-item{min-height:0;padding:34px 28px}.services .service-item:hover{padding:34px 28px}.services .service-item>span{margin-bottom:34px}}
@media(max-width:560px){.services{padding-bottom:100px}.services .service-item{padding:30px 24px}.services .service-item:hover{padding:30px 24px}.services .service-item h3{font-size:22px}.services .service-item p{font-size:14px}}

/* Final animated-border visibility override */
.services .service-item:after{display:block}

/* Light emitted from the lower vertex of the hero V artwork */
.hero-v-glow{
  position:absolute;
  z-index:2;
  left:calc(55% + 37svh);
  top:86%;
  width:clamp(160px,22vw,420px);
  aspect-ratio:1.8;
  pointer-events:none;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.98) 0 1.5%,rgba(255,239,190,.82) 4%,rgba(238,180,66,.42) 13%,rgba(207,139,36,.13) 31%,transparent 65%);
  filter:blur(2px) saturate(1.12);
  mix-blend-mode:screen;
  animation:v-root-breathe 3.6s ease-in-out infinite;
}
.hero-v-glow:before{
  content:"";
  position:absolute;
  inset:-80% -38%;
  background:conic-gradient(from 256deg at 50% 50%,transparent 0 6%,rgba(255,210,112,.16) 8%,transparent 11% 21%,rgba(255,247,219,.22) 22%,transparent 25% 67%,rgba(218,153,52,.14) 69%,transparent 72% 100%);
  filter:blur(13px);
  transform:scaleX(1.25);
  animation:v-root-rays 7s ease-in-out infinite alternate;
}
.hero-v-glow:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:46%;
  aspect-ratio:1;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,255,255,.75),rgba(255,212,119,.27) 24%,transparent 68%);
  box-shadow:0 0 18px rgba(255,245,216,.82),0 0 48px rgba(229,172,65,.62),0 0 105px rgba(204,134,31,.34);
  filter:blur(7px);
}
@keyframes v-root-breathe{0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
@keyframes v-root-rays{0%{opacity:.48;transform:scaleX(1.16) rotate(-2deg)}100%{opacity:.95;transform:scaleX(1.34) rotate(2deg)}}
@media(max-width:900px){.hero-v-glow{left:calc(52% + 31.7svh);top:82%;width:clamp(150px,30vw,300px)}}
@media(max-width:560px){.hero-v-glow{left:calc(48% + 25.1svh);top:75%;width:180px;opacity:.75}}
@media(prefers-reduced-motion:reduce){.hero-v-glow,.hero-v-glow:before{animation:none}}

/* Larger hero artwork while keeping the V vertex aligned with its glow */
body[data-page="home"] .hero:before{background-size:auto 128%;background-position:left 67%}
.hero-v-glow{left:calc(55% + 42.2svh)}
@media(max-width:900px){body[data-page="home"] .hero:before{background-size:auto 112%;background-position:left 64%}.hero-v-glow{left:calc(52% + 37svh)}}
@media(max-width:560px){body[data-page="home"] .hero:before{background-size:auto 90%;background-position:left 62%}.hero-v-glow{left:calc(48% + 29.7svh)}}

/* The artwork is a real positioned layer so its vertex light remains attached to the image. */
body[data-page="home"] .hero:before{display:none}
body[data-page="home"] .hero{overflow:visible}
body[data-page="home"] .hero:after{display:none}
.hero-art{
  position:absolute;
  z-index:1;
  left:46%;
  top:67%;
  height:128svh;
  aspect-ratio:3/2;
  transform:translateY(-67%);
  pointer-events:none;
  clip-path:inset(0 100% 0 0);
  animation:hero-art-reveal 2.2s .35s cubic-bezier(.22,.75,.18,1) forwards;
  will-change:clip-path;
}
.hero-art>img{display:block;width:100%;height:100%;object-fit:contain;opacity:.62;filter:saturate(1.08) contrast(1.04) drop-shadow(0 0 32px rgba(215,165,67,.18))}
@keyframes hero-art-reveal{to{clip-path:inset(0 0 0 0)}}

/* Wide V-shaped emission, anchored to the source artwork's lower vertex. */
.hero-art .hero-v-glow{
  position:absolute;
  left:22%;
  top:81%;
  z-index:2;
  width:44%;
  height:27%;
  aspect-ratio:auto;
  transform:translate(-50%,-50%);
  background:radial-gradient(ellipse 46% 9% at 50% 50%,rgba(255,255,255,.98),rgba(255,226,153,.7) 18%,rgba(221,158,52,.24) 48%,transparent 74%);
  filter:blur(1.5px) saturate(1.16);
  mix-blend-mode:screen;
  animation:vertex-light-pulse 3.2s 1.3s ease-in-out infinite;
}
.hero-art .hero-v-glow:before,.hero-art .hero-v-glow:after{
  content:"";
  position:absolute;
  inset:auto;
  top:50%;
  width:54%;
  height:12%;
  aspect-ratio:auto;
  border-radius:0;
  box-shadow:none;
  filter:blur(10px);
  opacity:.82;
}
.hero-art .hero-v-glow:before{
  right:50%;
  transform-origin:100% 50%;
  transform:translateY(-50%) rotate(22deg);
  background:linear-gradient(90deg,transparent 2%,rgba(212,144,37,.09) 30%,rgba(255,207,105,.42) 76%,rgba(255,252,235,.9) 100%);
}
.hero-art .hero-v-glow:after{
  left:50%;
  width:70%;
  transform-origin:0 50%;
  transform:translateY(-50%) rotate(-27deg);
  background:linear-gradient(90deg,rgba(255,252,235,.92),rgba(255,207,105,.4) 24%,rgba(215,145,39,.12) 66%,transparent 100%);
}
@keyframes vertex-light-pulse{0%,100%{opacity:.68;filter:blur(2px) saturate(1.08)}50%{opacity:1;filter:blur(.5px) saturate(1.28)}}

/* Let the background orbits continue into SERVICES and send light along them. */
body[data-page="home"] .services{overflow:visible;border-top:0}
.hero-orbit{z-index:0}
.hero-orbit:before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0 70%,rgba(207,146,44,.05) 76%,rgba(255,216,128,.75) 82%,#fff8dc 84%,rgba(222,163,57,.22) 88%,transparent 94% 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 2px));
  filter:drop-shadow(0 0 7px rgba(233,180,76,.7));
  animation:orbit-light-run 5.8s linear infinite;
}
.orbit-two:before{animation-duration:8.2s;animation-direction:reverse;opacity:.68}
@keyframes orbit-light-run{to{transform:rotate(360deg)}}

/* Slightly quieter SERVICES title scale. */
.services .services-head h2{font-size:clamp(48px,6.8vw,96px)}
@media(max-width:900px){.hero-art{left:43%;top:64%;height:112svh;transform:translateY(-64%)}.services .services-head h2{font-size:clamp(46px,8vw,72px)}}
@media(max-width:560px){.hero-art{left:39%;top:62%;height:684px;transform:translateY(-62%)}.services .services-head h2{font-size:42px}.hero-art .hero-v-glow{width:52%;height:31%}}
@media(prefers-reduced-motion:reduce){.hero-art{clip-path:none;animation:none}.hero-art .hero-v-glow,.hero-orbit:before{animation:none}}

/* Final alignment: raised vertex light, artwork above orbit lines, persistent header. */
.hero-art{z-index:2}
.hero-art .hero-v-glow{left:22%;top:76.5%}
.hero-orbit{z-index:0}
.hero-copy,.scroll-cue{z-index:3}
.site-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:50}

/* More compact footer with vertically centered contents. */
.site-footer{min-height:96px;padding:18px var(--pad);align-items:center}
.footer-logo{align-self:center}
.site-footer .footer-links,.site-footer>p{align-self:center}
@media(max-width:560px){.site-footer{min-height:0;padding-top:22px;padding-bottom:22px;align-items:center}.footer-logo,.site-footer>p{align-self:center}}

/* Keep the hero artwork visibly above the animated background lines. */
.hero-orbit{z-index:0}
.hero-art{z-index:4;isolation:isolate}
.hero-art>img{position:relative;z-index:1;opacity:1}
.hero-art .hero-v-glow{z-index:2}
.hero-copy,.scroll-cue{z-index:5}

/* Faster artwork entrance and a brighter, perfectly symmetrical V light. */
.hero-art{
  clip-path:inset(0 100% 0 0);
  animation:hero-art-reveal 2.35s .12s cubic-bezier(.2,.72,.16,1) both;
}
.hero-art .hero-v-glow{
  background:
    radial-gradient(ellipse 18% 4.5% at 50% 50%,#fff 0 18%,rgba(255,252,232,.98) 32%,rgba(255,215,122,.5) 62%,transparent 100%),
    radial-gradient(ellipse 48% 11% at 50% 50%,rgba(255,247,218,.95),rgba(241,184,76,.5) 25%,rgba(209,137,31,.18) 56%,transparent 78%);
  filter:blur(.8px) saturate(1.24) drop-shadow(0 0 10px rgba(255,247,220,.95)) drop-shadow(0 0 30px rgba(232,174,67,.7));
}
.hero-art .hero-v-glow:before,.hero-art .hero-v-glow:after{width:62%;height:12%;filter:blur(9px);opacity:.88}
.hero-art .hero-v-glow:before{right:50%;transform:translateY(-50%) rotate(24deg)}
.hero-art .hero-v-glow:after{left:50%;width:62%;transform:translateY(-50%) rotate(-24deg);background:linear-gradient(90deg,rgba(255,252,235,.9),rgba(255,207,105,.42) 24%,rgba(212,144,37,.09) 70%,transparent 98%)}
@keyframes vertex-light-pulse{
  0%,100%{opacity:.76;filter:blur(1.2px) saturate(1.16) drop-shadow(0 0 9px rgba(255,247,220,.85)) drop-shadow(0 0 26px rgba(232,174,67,.58))}
  50%{opacity:1;filter:blur(.4px) saturate(1.32) drop-shadow(0 0 14px rgba(255,252,235,1)) drop-shadow(0 0 42px rgba(232,174,67,.86))}
}

/* Trigger the wipe after image decoding so it cannot finish before the image paints. */
.hero-art{
  animation:none;
  clip-path:inset(0 100% 0 0);
  -webkit-clip-path:inset(0 100% 0 0);
}
.hero-art.is-ready{animation:hero-art-visible-wipe 10s cubic-bezier(.14,.48,.12,1) forwards}
@keyframes hero-art-visible-wipe{
  0%{clip-path:inset(0 100% 0 0);-webkit-clip-path:inset(0 100% 0 0)}
  100%{clip-path:inset(0 0 0 0);-webkit-clip-path:inset(0 0 0 0)}
}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-art.is-ready{animation:none;clip-path:none;-webkit-clip-path:none}}

/* Keep the vertex core at a constant brightness. */
.hero-art .hero-v-glow{
  animation:none;
  opacity:1;
  background:transparent;
  filter:blur(.8px) saturate(1.24) drop-shadow(0 0 14px rgba(255,252,235,1)) drop-shadow(0 0 38px rgba(232,174,67,.78));
}
.hero-v-core{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  width:9%;
  aspect-ratio:1;
  transform:translate(-50%,-50%) scaleX(1.16);
  background:linear-gradient(135deg,#fff 0%,#fffdf2 34%,#f7cf78 72%,#fff 100%);
  clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  box-shadow:0 0 16px rgba(255,255,245,1),0 0 38px rgba(244,197,103,.88),0 0 72px rgba(212,143,38,.56);
  filter:blur(.5px);
}

/* Remove the lateral flare and render the diamond as light above the artwork. */
.hero-art>img{z-index:1}
.hero-art .hero-v-glow{z-index:10!important;mix-blend-mode:screen;filter:none}
.hero-art .hero-v-glow:before,.hero-art .hero-v-glow:after{display:none}
.hero-v-core{
  z-index:11;
  width:8%;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,248,220,.96) 44%,rgba(244,193,87,.86) 78%,rgba(255,255,255,.98));
  box-shadow:0 0 9px rgba(255,255,245,.95),0 0 22px rgba(247,205,115,.72),0 0 42px rgba(218,151,45,.38);
  filter:blur(2.2px) brightness(1.32);
}

/* Smaller secondary-page titles and lighter header navigation. */
body[data-page="company"] .page-hero h1,
body[data-page="contact"] .page-hero h1{font-size:clamp(60px,9vw,124px)}
.desktop-nav a,.mobile-menu nav a{
  font-family:"Avenir Next","Helvetica Neue","Hiragino Sans",sans-serif;
  font-weight:300;
}
@media(max-width:560px){body[data-page="company"] .page-hero h1,body[data-page="contact"] .page-hero h1{font-size:14vw}}

/* Vibes typography system: sharp Latin display, calm Japanese, refined UI. */
body,button,input,select,textarea{font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic UI",sans-serif}
.desktop-nav a,.mobile-menu nav a,.lang-toggle,.eyebrow,.section-label,.page-kicker,
.section-index,.service-item>span,.person-role span,.contact-meta span,.site-footer{
  font-family:"Manrope","Helvetica Neue",sans-serif;
}
.desktop-nav a,.mobile-menu nav a{font-weight:300}
.services-head h2,
body[data-page="contact"] .page-hero h1{
  font-family:"Oswald","Arial Narrow",sans-serif;
  font-weight:500;
  font-stretch:normal;
}
.hero h1,.hero h1 em,.contact-cta h2,.contact-aside h2,.service-item h3,.person-details h3{
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
}

/* COMPANY title stays bold; all following COMPANY headings mirror SERVICES. */
body[data-page="company"] .page-hero h1{
  font-family:Impact,"Arial Black","Hiragino Kaku Gothic StdN",sans-serif;
  font-weight:900;
}
body[data-page="company"] .leadership h2,
body[data-page="company"] .profile h2{
  font-family:"Noto Sans JP","Hiragino Sans",sans-serif;
  font-size:clamp(36px,4.4vw,62px);
  font-weight:600;
  font-stretch:normal;
  letter-spacing:.08em;
  line-height:1.12;
  padding:.1em 0 .14em;
  margin:12px 0 70px;
  text-shadow:none;
}
html[lang="en"] body[data-page="company"] .leadership h2,
html[lang="en"] body[data-page="company"] .profile h2{font-family:"Oswald","Arial Narrow",sans-serif;font-weight:500;letter-spacing:.1em}
@media(max-width:900px){body[data-page="company"] .leadership h2,body[data-page="company"] .profile h2{font-size:clamp(36px,6vw,52px)}}
@media(max-width:560px){body[data-page="company"] .leadership h2,body[data-page="company"] .profile h2{font-size:34px;letter-spacing:.05em;margin-bottom:48px}}

/* High-contrast serif matching the Vibes wordmark. */
body[data-page="company"] .page-hero h1,
body[data-page="contact"] .page-hero h1,
body[data-page="privacy"] .page-hero h1,
body[data-page="notice"] .page-hero h1,
.services-head h2{
  font-family:"Marcellus","Noto Sans JP","Times New Roman",serif;
  font-weight:400;
  font-stretch:normal;
  letter-spacing:.035em;
}
body[data-page="company"] .page-hero h1,
body[data-page="contact"] .page-hero h1,
body[data-page="privacy"] .page-hero h1,
body[data-page="notice"] .page-hero h1{font-size:clamp(40px,5.4vw,72px)}
@media(max-width:560px){body[data-page="company"] .page-hero h1,body[data-page="contact"] .page-hero h1,body[data-page="privacy"] .page-hero h1,body[data-page="notice"] .page-hero h1{font-size:9vw}}

/* Center secondary-page title heroes. */
body:not([data-page="home"]) .page-hero{align-items:center;text-align:center}

/* COMPANY sections: left-aligned title column beside the content column. */
body[data-page="company"] .profile,
body[data-page="company"] .leadership{display:block}
body[data-page="company"] .company-section-body{
  display:grid;
  grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);
  grid-template-rows:auto 1fr;
  column-gap:clamp(48px,8vw,130px);
  width:100%;
  max-width:none;
}
body[data-page="company"] .company-section-body>.section-label{grid-column:1;grid-row:1;text-align:left;margin:0 0 12px}
body[data-page="company"] .company-section-body>h2{grid-column:1;grid-row:2;text-align:left;align-self:start;margin:0}
body[data-page="company"] .company-section-body>.people-list,
body[data-page="company"] .company-section-body>.profile-list{grid-column:2;grid-row:1/span 2;align-self:start;width:100%}
@media(max-width:700px){
  body[data-page="company"] .company-section-body{display:block}
  body[data-page="company"] .company-section-body>h2{margin-bottom:42px}
}

/* Elegant service numerals. */
.services .service-item>span{
  font-family:"Oswald","Arial Narrow",sans-serif;
  font-weight:300;
  letter-spacing:.04em;
}

/* COMPANY profiles do not need ordinal numbers. */
body[data-page="company"] .person-role span{display:none}
body[data-page="company"] .person-role{gap:0}

/* Vertical scroll indicator on the home hero. */
body[data-page="home"] .scroll-cue{flex-direction:column;gap:12px;bottom:28px}
body[data-page="home"] .scroll-cue i{width:1px;height:140px}
body[data-page="home"] .scroll-cue i:after{animation:scroll-vertical 2.2s infinite}
@keyframes scroll-vertical{0%{transform:translateY(-105%)}70%,100%{transform:translateY(105%)}}

/* Representative information supplied in about.txt. */
.person-photo{display:block;width:min(100%,346px);aspect-ratio:2/3;object-fit:cover;margin:0 0 32px;border:1px solid rgba(228,198,139,.22);filter:saturate(.78) contrast(1.04)}
.profile-list a,.contact-meta a{color:inherit;border-bottom:1px solid rgba(228,198,139,.4)}

/* Representative portrait with role, name and biography alongside it. */
.person-card.has-photo{display:block}
.person-card.has-photo .person-details{display:grid;grid-template-columns:minmax(170px,230px) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center}
.person-card.has-photo .person-photo{width:100%;margin:0}
.person-title{margin:0 0 18px!important;font-family:"Manrope","Noto Sans JP",sans-serif;font-size:13px!important;font-weight:500;letter-spacing:.12em;color:#c8a65e!important}
.person-card.has-photo .person-details h3{margin-bottom:24px}
@media(max-width:700px){.person-card.has-photo .person-details{grid-template-columns:1fr;gap:30px}.person-card.has-photo .person-photo{max-width:230px}.person-title{margin-bottom:14px!important}}

/* Advisor section: remove the redundant role label and its empty column. */
body[data-page="company"] .leadership+.leadership .person-role{display:none}
body[data-page="company"] .leadership+.leadership .person-card{grid-template-columns:1fr}

/* Force the representative image box to an exact 3:4 ratio. */
.person-card.has-photo .person-photo{width:225px;height:300px;max-width:100%;object-fit:cover;aspect-ratio:auto}
@media(max-width:700px){.person-card.has-photo .person-photo{width:180px;height:240px}}

/* Replace Japanese UI type with Helvetica when the English locale is active. */
html[lang="en"] body,
html[lang="en"] button,
html[lang="en"] input,
html[lang="en"] select,
html[lang="en"] textarea{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
html[lang="en"] .hero h1,
html[lang="en"] .hero h1 em,
html[lang="en"] .contact-cta h2,
html[lang="en"] .contact-aside h2,
html[lang="en"] .service-item h3,
html[lang="en"] .person-details h3,
html[lang="en"] body[data-page="company"] .leadership h2,
html[lang="en"] body[data-page="company"] .profile h2{
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
html[lang="en"] body,
html[lang="en"] button,
html[lang="en"] input,
html[lang="en"] select,
html[lang="en"] textarea{letter-spacing:.018em}
html[lang="en"] .hero h1,
html[lang="en"] .hero h1 em,
html[lang="en"] .contact-cta h2,
html[lang="en"] .contact-aside h2,
html[lang="en"] .service-item h3,
html[lang="en"] .person-details h3{letter-spacing:.035em}
html[lang="en"] body[data-page="company"] .leadership h2,
html[lang="en"] body[data-page="company"] .profile h2{letter-spacing:.055em}

/* Legal title and notice refinements. */
body[data-page="notice"] .page-hero h1,
body[data-page="privacy"] .page-hero h1{line-height:1.18;padding:.16em 0 .22em}
body[data-page="privacy"] .page-hero h1{white-space:nowrap}
body[data-page="notice"] .notice-box p{margin:0;font-size:14px;line-height:1.9;color:#aaa}
body[data-page="notice"] .notice-box{
  width:100%;
  min-height:42vh;
  margin:0;
  padding:64px 24px;
  border:0;
  display:grid;
  place-items:center;
  text-align:center;
}

/* Header logo and surface share one uninterrupted black. */
.site-header,.site-header .wordmark{background-color:#000}
.site-header .wordmark{width:132px;height:58px;background-size:132px 132px;background-position:center -35px}

/* Equal visual padding above and below secondary-page title content. */
.page-hero,.page-hero.legal-hero{
  padding-top:calc(var(--header) + 44px);
  padding-bottom:44px;
}

@media(max-width:560px){
  .site-header .wordmark{width:112px;height:50px;background-size:112px 112px;background-position:center -30px}

  /* Home: copy at right-center, no background artwork, visible vertical cue. */
  body[data-page="home"] .hero-copy{
    position:absolute;
    top:50%;
    right:var(--pad);
    width:74%!important;
    max-width:none;
    text-align:right;
    transform:translateY(-50%)!important;
    opacity:1!important;
  }
  body[data-page="home"] .hero-art{display:none}
  body[data-page="home"] .scroll-cue{display:flex;right:var(--pad);bottom:18px}
  body[data-page="home"] .scroll-cue i{height:96px}

  /* Equal-height service cards on phones. */
  .services .service-item{height:380px;min-height:380px}

  /* Mobile menu uses the same face as SERVICES. */
  .mobile-menu nav a{font-family:"Marcellus","Times New Roman",serif;font-weight:400;letter-spacing:.035em}

  /* COMPANY subheads match the CONTACT statement scale. */
  body[data-page="company"] .leadership h2,
  body[data-page="company"] .profile h2{font-size:34px;line-height:1.35}

  .page-hero,.page-hero.legal-hero{
    padding-top:calc(var(--header) + 34px);
    padding-bottom:34px;
  }
}

/* Privacy item headings use the same size as their body copy. */
body[data-page="privacy"] .legal-content section h2,
body[data-page="privacy"] .legal-content section p{font-size:16px}

/* Public notice contains only one centered status message. */
.notice-empty-page{min-height:100svh}
.notice-empty-page main{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px;text-align:center}
.notice-empty-page main h1{margin:0;font-family:"Marcellus","Noto Sans JP",serif;font-size:clamp(32px,5vw,54px);font-weight:400;letter-spacing:.08em;color:#f4e7c7}
.notice-empty-page main p{margin:0;font-size:14px;line-height:1.8;color:#aaa}

/* Keep the COMPANY heading column fixed while right-side content scrolls. */
@media(min-width:701px){
  body[data-page="company"] .company-section-body>.section-label{
    position:sticky;
    top:calc(var(--header) + 12px);
    align-self:start;
    z-index:2;
    line-height:1.4;
  }
  body[data-page="company"] .company-section-body>h2{
    position:sticky;
    top:calc(var(--header) + 62px);
    align-self:start;
    z-index:2;
  }
}

/* Compact COMPANY sections and stick both title lines as a single block. */
body[data-page="company"] .leadership.section,
body[data-page="company"] .profile.section{
  padding-top:clamp(64px,6vw,96px);
  padding-bottom:clamp(64px,6vw,96px);
}
body[data-page="company"] .company-section-heading{
  grid-column:1;
  grid-row:1/span 2;
  position:sticky;
  top:calc(var(--header) + 14px);
  align-self:start;
  z-index:3;
  text-align:left;
}
body[data-page="company"] .company-section-heading>.section-label{
  position:static;
  margin:0 0 14px;
  line-height:1.4;
  text-align:left;
}
body[data-page="company"] .company-section-heading>h2{
  position:static;
  margin:0;
  text-align:left;
}
@media(max-width:700px){
  body[data-page="company"] .company-section-heading{position:static;margin-bottom:42px}
  body[data-page="company"] .leadership.section,
  body[data-page="company"] .profile.section{padding-top:56px;padding-bottom:56px}
}

/* Compact title heroes across all secondary pages. */
.page-hero,.page-hero.legal-hero{
  min-height:52vh;
  padding-top:calc(var(--header) + 64px);
  padding-bottom:48px;
}
.page-hero h1{margin-top:18px;margin-bottom:26px}
@media(max-width:900px){.page-hero,.page-hero.legal-hero{min-height:48vh;padding-top:calc(var(--header) + 48px);padding-bottom:42px}}
@media(max-width:560px){.page-hero,.page-hero.legal-hero{min-height:420px;padding-top:calc(var(--header) + 38px);padding-bottom:34px}.page-hero h1{margin-top:14px;margin-bottom:20px}}

/* Final COMPANY border cleanup. */
body[data-page="company"] .leadership+.leadership .people-list,
body[data-page="company"] .leadership+.leadership .person-card{border-top:0;border-bottom:0}
body[data-page="company"] .profile.section{border-bottom:0}

/* Equal title-section breathing room on every secondary page. */
.page-hero,.page-hero.legal-hero{padding-top:calc(var(--header) + 48px);padding-bottom:48px}

@media(max-width:560px){
  html,body{overflow-x:hidden}

  /* Home copy and oversized decorative orbit lines. */
  body[data-page="home"] .hero-copy{
    left:var(--pad);
    right:auto;
    width:76%!important;
    text-align:left;
  }
  body[data-page="home"] .hero-orbit{
    width:155vw;
    height:155vw;
    right:-88vw;
    top:4%;
  }
  body[data-page="home"] .orbit-two{
    width:118vw;
    height:118vw;
    right:-62vw;
    top:28%;
  }

  /* Compact, single-line service labels with smaller numerals. */
  .services .service-item>span{font-size:44px;margin-bottom:26px}
  .services .service-item h3{font-size:18px;letter-spacing:.01em;white-space:nowrap}

  /* Smaller right-aligned mobile menu. */
  .mobile-menu nav{align-items:flex-end;text-align:right}
  .mobile-menu nav a{width:min(72vw,280px);font-size:28px;line-height:1.65}

  /* COMPANY headings match the CONTACT statement and portrait is compact. */
  body[data-page="company"] .leadership h2,
  body[data-page="company"] .profile h2,
  body[data-page="contact"] .contact-aside h2{font-size:32px;line-height:1.35}
  .person-card.has-photo .person-photo{width:150px;height:200px;margin-left:auto;margin-right:auto}

  .page-hero,.page-hero.legal-hero{padding-top:calc(var(--header) + 34px);padding-bottom:34px}
}

@media(max-width:560px){
  body:not([data-page="home"]) .page-hero{
    margin-top:var(--header);
    min-height:calc(420px - var(--header));
    padding-top:34px;
    padding-bottom:34px;
  }
}

/* Mobile footer: logo, page links, then compact copyright. */
@media(max-width:560px){
  .site-footer{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:24px;
    padding-top:28px;
    padding-bottom:28px;
  }
  .site-footer .footer-logo{order:1;align-self:center}
  .site-footer .footer-links{
    order:2;
    width:100%;
    margin:0;
    padding:0;
    border-top:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:12px;
  }
  .site-footer>p{order:3;align-self:center;margin:0;font-size:10px;letter-spacing:.08em;text-align:center}
}

@media(max-width:560px){
  body:not([data-page="home"]) .page-kicker{
    max-width:100%;
    font-size:clamp(9px,2.7vw,11px);
    letter-spacing:.04em;
    line-height:1.4;
    white-space:nowrap;
  }
}

@media(max-width:560px){
  .services .service-item{
    height:auto;
    min-height:300px;
    padding-top:26px;
    padding-bottom:26px;
  }
  .services .service-item:hover{padding-top:26px;padding-bottom:26px}
}

.mobile-only-break{display:none}
@media(max-width:560px){.mobile-only-break{display:block}}
.desktop-only-inline{display:inline}
@media(max-width:560px){.desktop-only-inline{display:none}}

.person-card.has-photo .person-title,
.person-card.has-photo .person-details h3{text-align:center}
@media(min-width:701px){
  .person-card.has-photo .person-title,
  .person-card.has-photo .person-details h3{text-align:left}
}

/* Secondary heroes: remove the upper subtitle and tighten vertical space. */
body:not([data-page="home"]) .page-hero>.eyebrow{display:none}
body:not([data-page="home"]) .page-hero{
  margin-top:var(--header);
  min-height:320px;
  padding-top:40px;
  padding-bottom:40px;
  justify-content:center;
}
@media(max-width:560px){
  body:not([data-page="home"]) .page-hero{
    min-height:180px;
    padding-top:16px;
    padding-bottom:16px;
  }
}

/* Advisor keeps the same card rules as the member profile, with only the restored divider. */
body[data-page="company"] .leadership+.leadership .people-list{
  border-top:1px solid rgba(228,198,139,.25);
}
body[data-page="company"] .leadership+.leadership .advisor-card{
  border-bottom:1px solid rgba(228,198,139,.18);
}

/* Member and advisor text blocks share the same final layout. */
body[data-page="company"] .person-card.has-photo .person-copy{
  align-self:center;
  text-align:left;
}
body[data-page="company"] .person-card.has-photo .person-copy .person-title{
  margin:0 0 18px!important;
}
body[data-page="company"] .person-card.has-photo .person-copy h3{
  margin:0 0 24px;
  font-size:clamp(22px,2.2vw,32px);
  font-weight:300;
  letter-spacing:-.035em;
  color:var(--fg);
}
body[data-page="company"] .person-card.has-photo .person-copy p:not(.person-title){
  margin:0;
  max-width:none;
  font-size:14px;
  color:#999;
  line-height:2;
  text-align:left;
}
@media(max-width:700px){
  body[data-page="company"] .person-card.has-photo .person-copy .person-title,
  body[data-page="company"] .person-card.has-photo .person-copy h3{
    text-align:center;
  }
}
@media(min-width:701px){
  body[data-page="company"] .person-card.has-photo .person-copy .person-title,
  body[data-page="company"] .person-card.has-photo .person-copy h3{
    text-align:left;
  }
}
