/* Pattern A — GOLD STANDARD (multi-page) */
*{margin:0;padding:0;box-sizing:border-box}
:root{
  --navy:#0A1733;
  --navy-2:#14213D;
  --navy-3:#1B2C4F;
  --gold:#C9A961;
  --gold-2:#D4AF37;
  --gold-soft:rgba(201,169,97,.2);
  --cream:#F7F5F0;
  --cream-2:#EFEBE0;
  --ink:#1A1A1A;
}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','Noto Sans JP',sans-serif;
  background:var(--cream);
  color:var(--ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  cursor:none;
  line-break:strict;
}
body.is-loading{overflow:hidden}
/* 見出し: 句読点でのみ改行 / 本文: 自然改行 */
.section-title,.hero h1,.page-hero h1,.cta-block h2,.con-l h2,.msg-text blockquote{word-break:keep-all;line-break:strict;overflow-wrap:break-word}
.lead,.hero p,.about-text p,.about-text p.lead,.ph-desc,.cta-block p{line-break:strict;overflow-wrap:break-word}
@supports (text-wrap: balance){
  .section-title,.hero h1,.page-hero h1,.cta-block h2,.con-l h2,.msg-text blockquote,.str-detail-row .content h3{ text-wrap:balance }
}
@supports (text-wrap: pretty){
  .lead,.hero p,.about-text p,.ph-desc,.cta-block p,.msg-text p,.svc-detail-row .lead{ text-wrap:pretty }
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* Custom Cursor */
.cursor{position:fixed;top:0;left:0;width:8px;height:8px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.cursor.lg{transform:scale(5);background:var(--gold);opacity:.4}
.cursor-ring{position:fixed;top:0;left:0;width:36px;height:36px;border:1px solid var(--gold);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .2s cubic-bezier(.16,1,.3,1),width .2s,height .2s,opacity .2s}

/* Loader */
.loader{--load-progress:0;position:fixed;inset:0;background:radial-gradient(circle at 50% 44%,rgba(201,169,97,.14),transparent 34%),linear-gradient(135deg,#071126 0%,var(--navy) 48%,#050B18 100%);z-index:10000;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .9s cubic-bezier(.7,0,.2,1) .2s,visibility 0s 1.1s}
.loader::before{content:'';position:absolute;inset:-20%;background:repeating-linear-gradient(90deg,rgba(201,169,97,.045) 0 1px,transparent 1px 120px),repeating-linear-gradient(0deg,rgba(247,245,240,.025) 0 1px,transparent 1px 96px);opacity:.55;transform:rotate(-4deg);pointer-events:none}
.loader::after{content:'';position:absolute;inset:0;background:var(--cream);transform:translateY(101%);transition:transform .86s cubic-bezier(.86,0,.07,1);z-index:5}
.loader.is-complete::after{transform:translateY(0)}
.loader.hidden{opacity:0;visibility:hidden;pointer-events:none}
.loader-text{position:relative;z-index:2;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(48px,7vw,92px);color:var(--gold);font-weight:300;letter-spacing:.12em;overflow:hidden;text-shadow:0 18px 60px rgba(201,169,97,.16)}
.loader-text span{display:inline-block;animation:loaderUp .95s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(var(--i,0) * 55ms);opacity:0;transform:translateY(115%) rotateX(-40deg);transform-origin:50% 100%}
.loader.is-complete .loader-text{transition:opacity .42s cubic-bezier(.7,0,.2,1),transform .58s cubic-bezier(.7,0,.2,1);opacity:0;transform:translateY(-18px)}
@keyframes loaderUp{to{opacity:1;transform:translateY(0) rotateX(0)}}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:28px 56px;transition:background .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent}
.header.scrolled{background:rgba(247,245,240,.92);backdrop-filter:blur(14px);padding:18px 56px;border-color:var(--gold-soft)}
.brand{font-family:'Playfair Display',serif;font-weight:900;font-size:22px;letter-spacing:.18em;color:var(--navy)}
.brand i{color:var(--gold);font-style:normal}
.brand-img{width:176px;min-width:176px;height:38px;display:inline-flex;align-items:center;font-size:0;letter-spacing:0}
.brand-img img{width:100%;height:auto;display:block;filter:drop-shadow(0 8px 18px rgba(10,23,51,.08))}
.nav{display:flex;gap:40px}
.nav a{font-size:12px;letter-spacing:.25em;text-transform:uppercase;color:var(--navy);position:relative;padding:6px 0}
.nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s}
.nav a:hover::after{width:100%}
.hbtn{padding:12px 28px;background:var(--navy);color:var(--cream);font-size:11px;letter-spacing:.3em;text-transform:uppercase;border:1px solid var(--navy);transition:.4s}
.hbtn:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}

/* Hero */
.hero{min-height:100vh;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:120px 56px 80px;background:var(--cream);overflow:hidden}
.hero::before{content:'01';position:absolute;left:56px;top:120px;font-family:'Playfair Display',serif;font-size:160px;color:var(--gold-soft);font-weight:900;line-height:1;font-style:italic;z-index:0}
.hero-l{position:relative;z-index:2}
.hero .eyebrow{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;display:flex;align-items:center;gap:16px}
.hero .eyebrow::before{content:'';width:48px;height:1px;background:var(--gold)}
.hero h1{font-family:'Noto Serif JP','Cormorant Garamond',serif;font-weight:300;font-size:clamp(48px,6.8vw,96px);line-height:1.12;color:var(--navy);letter-spacing:.01em;margin-bottom:40px}
.hero h1 em{font-style:italic;color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:500;display:inline-block}
.hero h1 .reveal{display:inline-block;overflow:hidden;vertical-align:bottom}
.hero h1 .reveal span{display:inline-block;transform:translateY(110%);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.hero h1 .reveal.in span{transform:translateY(0)}
.hero p{font-size:14px;line-height:2.2;color:var(--navy-2);max-width:440px;margin-bottom:48px;letter-spacing:.06em}
.hero-cta{display:inline-flex;align-items:center;gap:20px;padding:18px 36px;background:var(--navy);color:var(--cream);font-size:11px;letter-spacing:.3em;text-transform:uppercase;transition:.4s;border:1px solid var(--navy)}
.hero-cta:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.hero-cta svg{width:14px;height:14px}
.hero-r{position:relative;z-index:2;height:80vh;display:flex;align-items:flex-end;justify-content:flex-end}
.hero-visual{position:relative;width:100%;max-width:520px;aspect-ratio:3/4;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);overflow:hidden}
.hero-visual .img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.55;mix-blend-mode:luminosity;z-index:0}
.hero-visual .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,51,.3) 0%,rgba(10,23,51,.85) 100%);z-index:1;pointer-events:none}
.hero-visual .frame{position:absolute;inset:24px;border:1px solid var(--gold);pointer-events:none;z-index:2}
.hero-visual .footer-label{position:absolute;bottom:40px;left:40px;right:40px;font-family:'Playfair Display',serif;font-size:14px;letter-spacing:.5em;color:var(--gold);font-weight:300;z-index:3;text-align:center}
.hero-visual .glow,.hero-visual .label-v,.hero-visual .num-v,.hero-visual .center-mark{z-index:3}
.hero-visual .glow{position:absolute;top:50%;left:50%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,97,.5),transparent 70%);transform:translate(-50%,-50%);animation:pulse 4s ease-in-out infinite;filter:blur(40px)}
@keyframes pulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.15);opacity:1}}
.hero-visual .label-v{position:absolute;top:40px;left:40px;font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);font-size:18px;font-weight:500;letter-spacing:.05em}
.hero-visual .num-v{position:absolute;top:40px;right:40px;font-size:10px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
.hero-visual .center-mark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:56px;color:var(--cream);letter-spacing:.02em;z-index:2;text-align:center;line-height:1.2}
.hero-visual .center-mark small{display:block;font-size:11px;letter-spacing:.5em;color:var(--gold);margin-top:16px;font-style:normal}
.hero-visual .brand-lockup{width:min(78%,370px);font-size:0;filter:drop-shadow(0 24px 54px rgba(0,0,0,.28))}
.hero-visual .brand-lockup img{width:100%;height:auto;margin:0 auto}
.hero-visual .footer-logo{display:flex;align-items:center;justify-content:center}
.hero-visual .footer-logo img{width:min(64%,170px);height:auto;opacity:.78;filter:drop-shadow(0 12px 28px rgba(0,0,0,.24))}
.scroll-hint{position:absolute;bottom:40px;left:56px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);display:flex;align-items:center;gap:16px}
.scroll-hint::after{content:'';width:60px;height:1px;background:var(--navy);position:relative;overflow:hidden}
.scroll-hint .line{display:inline-block;width:60px;height:1px;background:rgba(10,23,51,.2);position:relative}
.scroll-hint .line::before{content:'';position:absolute;left:0;top:0;width:24px;height:1px;background:var(--gold);animation:scrollLine 2.4s ease-in-out infinite}
@keyframes scrollLine{0%{transform:translateX(0)}100%{transform:translateX(36px)}}

/* Hero depth layers */
.hero{--mx:0;--my:0;isolation:isolate}
.hero-depth{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.depth-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.35;transform-origin:center}
.depth-line.l1{left:-10%;right:-10%;top:31%;transform:rotate(-8deg) translate3d(calc(var(--mx)*-10px),calc(var(--my)*6px),0)}
.depth-line.l2{left:-12%;right:-12%;bottom:21%;transform:rotate(7deg) translate3d(calc(var(--mx)*8px),calc(var(--my)*-8px),0)}
.depth-copy{position:absolute;right:42px;top:46%;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:rgba(201,169,97,.52);letter-spacing:.24em;text-transform:uppercase;writing-mode:vertical-rl;transform:translate3d(calc(var(--mx)*8px),calc(var(--my)*10px),0)}
.depth-slice{position:absolute;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.05);opacity:.22;mix-blend-mode:multiply;box-shadow:0 30px 80px rgba(10,23,51,.15);transform:translate3d(calc(var(--mx)*18px),calc(var(--my)*-12px),0) rotate(-6deg)}
.depth-slice::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,245,240,.2),rgba(10,23,51,.55))}
.depth-slice.s1{width:250px;height:360px;left:42%;top:13%;clip-path:polygon(12% 0,100% 8%,88% 100%,0 90%);animation:sliceDriftA 12s cubic-bezier(.7,0,.3,1) infinite alternate}
.depth-slice.s2{width:210px;height:280px;right:9%;bottom:8%;clip-path:polygon(0 12%,90% 0,100% 88%,10% 100%);transform:translate3d(calc(var(--mx)*-16px),calc(var(--my)*14px),0) rotate(9deg);animation:sliceDriftB 14s cubic-bezier(.7,0,.3,1) infinite alternate}
@keyframes sliceDriftA{from{clip-path:polygon(12% 0,100% 8%,88% 100%,0 90%)}to{clip-path:polygon(0 8%,92% 0,100% 92%,10% 100%)}}
@keyframes sliceDriftB{from{clip-path:polygon(0 12%,90% 0,100% 88%,10% 100%)}to{clip-path:polygon(8% 0,100% 14%,92% 100%,0 82%)}}

/* Section base */
section{position:relative;padding:140px 56px}
.section-head{display:grid;grid-template-columns:1fr 2.6fr;gap:64px;margin-bottom:80px;align-items:start}
.section-num{font-family:'Playfair Display',serif;font-size:120px;color:var(--gold-soft);font-weight:900;line-height:.9;font-style:italic}
.section-tag{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:flex;align-items:center;gap:16px}
.section-tag::before{content:'';width:36px;height:1px;background:var(--gold)}
.section-title{font-family:'Noto Serif JP',serif;font-weight:300;font-size:clamp(36px,4.5vw,64px);line-height:1.2;color:var(--navy);letter-spacing:.01em}
.section-title em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);font-weight:500}

/* About */
.about{background:var(--cream)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:120px;align-items:center}
.about-text p{font-size:15px;line-height:2.2;color:var(--navy-2);margin-bottom:24px;letter-spacing:.05em}
.about-text p.lead{font-family:'Noto Serif JP',serif;font-size:22px;line-height:1.9;color:var(--navy);font-weight:300;margin-bottom:40px}
.about-card{padding:60px;background:var(--navy);color:var(--cream);position:relative;aspect-ratio:1/1.2}
.about-card::before{content:'';position:absolute;inset:20px;border:1px solid var(--gold-soft)}
.about-card .stat{position:absolute;top:60px;left:60px;font-family:'Playfair Display',serif;font-size:140px;color:var(--gold);font-weight:900;line-height:.9;font-style:italic}
.about-card .stat sup{font-size:36px;vertical-align:super;margin-left:8px}
.about-card .stat-label{position:absolute;bottom:60px;left:60px;right:60px;border-top:1px solid var(--gold-soft);padding-top:24px}
.about-card .stat-label .small{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.about-card .stat-label .big{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:var(--cream);font-weight:500}

/* Strengths */
.strengths{background:var(--navy);color:var(--cream)}
.strengths .section-title{color:var(--cream)}
.strengths .section-num{color:rgba(201,169,97,.2)}
.str-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--gold-soft);border:1px solid var(--gold-soft)}
.str-item{background:var(--navy);padding:60px 48px;position:relative;transition:background .5s}
.str-item:hover{background:var(--navy-2)}
.str-item .n{font-family:'Playfair Display',serif;font-size:14px;letter-spacing:.4em;color:var(--gold);font-style:italic;margin-bottom:32px}
.str-item h3{font-family:'Noto Serif JP',serif;font-weight:500;font-size:28px;line-height:1.4;margin-bottom:24px;color:var(--cream)}
.str-item h3 em{font-style:italic;color:var(--gold);font-family:'Cormorant Garamond',serif}
.str-item p{font-size:13px;line-height:2;color:rgba(247,245,240,.7);letter-spacing:.05em}
.str-item::after{content:'';position:absolute;bottom:0;left:48px;right:48px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.str-item:hover::after{transform:scaleX(1)}

/* Services */
.services{background:var(--cream-2)}
.svc-list{margin-top:40px}
.svc-row{display:grid;grid-template-columns:80px 1fr 2fr 80px;gap:40px;padding:48px 0;border-top:1px solid rgba(10,23,51,.15);align-items:center;cursor:pointer;transition:.5s;position:relative}
.svc-row:last-child{border-bottom:1px solid rgba(10,23,51,.15)}
.svc-row::before{content:'';position:absolute;left:0;right:0;top:0;height:0;background:var(--navy);transition:height .5s cubic-bezier(.16,1,.3,1);z-index:0}
.svc-row:hover::before{height:100%}
.svc-row>*{position:relative;z-index:1;transition:color .5s}
.svc-row:hover>*{color:var(--cream)}
.svc-row:hover .svc-name em{color:var(--gold)}
.svc-row:hover{padding-left:48px}
.svc-num{font-family:'Playfair Display',serif;font-style:italic;font-size:32px;color:var(--gold);font-weight:500}
.svc-name{font-family:'Noto Serif JP',serif;font-size:26px;font-weight:500;color:var(--navy);line-height:1.3}
.svc-name em{display:block;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);margin-top:6px;letter-spacing:.1em;font-weight:500}
.svc-desc{font-size:13px;line-height:2;color:var(--navy-2);letter-spacing:.04em}
.svc-arrow{font-size:24px;color:var(--gold);text-align:right;transition:transform .5s}
.svc-row:hover .svc-arrow{transform:translateX(12px);color:var(--gold)}

/* Numbers */
.numbers{background:var(--navy);color:var(--cream);overflow:hidden}
.num-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft)}
.num-box{padding:80px 32px;text-align:center;border-right:1px solid var(--gold-soft);position:relative}
.num-box:last-child{border-right:none}
.num-box .big{font-family:'Playfair Display',serif;font-weight:900;font-style:italic;font-size:90px;color:var(--gold);line-height:1;margin-bottom:16px}
.num-box .big sup{font-size:32px;vertical-align:super;margin-left:4px}
.num-box .lbl{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream);opacity:.7}
.num-box .ja{font-family:'Noto Serif JP',serif;font-size:13px;color:rgba(247,245,240,.6);margin-top:8px}

/* Message */
.message{background:var(--cream)}
.msg-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:center}
.msg-portrait{position:relative;aspect-ratio:3/4;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-3) 100%);overflow:hidden}
.msg-portrait .img-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.msg-portrait .img-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,51,.3),rgba(10,23,51,.75))}
.msg-portrait::after{content:'';position:absolute;inset:16px;border:1px solid var(--gold);z-index:2}
.msg-portrait .initials{position:absolute;top:auto;bottom:60px;left:40px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:96px;color:var(--gold);font-weight:300;z-index:3;transform:none}
.msg-portrait .name-mark{position:absolute;bottom:40px;left:40px;font-size:10px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase}
.msg-text blockquote{font-family:'Noto Serif JP',serif;font-weight:300;font-size:28px;line-height:1.8;color:var(--navy);letter-spacing:.02em;margin-bottom:40px;position:relative;padding-left:24px}
.msg-text blockquote::before{content:'';position:absolute;left:0;top:8px;bottom:8px;width:2px;background:var(--gold)}
.msg-text blockquote em{font-style:italic;color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:500}
.msg-text p{font-size:14px;line-height:2.2;color:var(--navy-2);margin-bottom:20px;letter-spacing:.05em}
.msg-sign{margin-top:40px;display:flex;align-items:baseline;gap:20px;padding-top:32px;border-top:1px solid var(--gold-soft)}
.msg-sign .role{font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase}
.msg-sign .name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:32px;color:var(--navy);font-weight:500}

/* Company */
.company{background:var(--cream-2)}
.comp-grid{display:grid;grid-template-columns:1fr 1fr}
.comp-grid dl{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--gold-soft);align-items:baseline}
.comp-grid dl:nth-child(odd){padding-right:60px}
.comp-grid dl:nth-child(even){padding-left:60px;border-left:1px solid var(--gold-soft)}
.comp-grid dt{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);font-weight:500;letter-spacing:.1em}
.comp-grid dd{font-family:'Noto Serif JP',serif;font-size:15px;color:var(--navy);line-height:1.7}

/* Recruit */
.recruit{background:var(--navy);color:var(--cream);text-align:center}
.recruit .section-title{color:var(--cream)}
.recruit .lead{font-family:'Noto Serif JP',serif;font-size:20px;line-height:2;color:rgba(247,245,240,.8);max-width:680px;margin:0 auto 60px;font-weight:300}
.rec-roles{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-bottom:60px}
.rec-role{padding:18px 36px;border:1px solid var(--gold);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--gold);font-weight:500;transition:.4s}
.rec-role:hover{background:var(--gold);color:var(--navy)}

/* Contact */
.contact{background:var(--cream);position:relative}
.con-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.con-l h2{font-family:'Noto Serif JP',serif;font-weight:300;font-size:48px;line-height:1.2;color:var(--navy);margin-bottom:32px}
.con-l h2 em{font-style:italic;color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:500}
.con-l p{font-size:14px;line-height:2.2;color:var(--navy-2);margin-bottom:40px;letter-spacing:.05em}
.con-info{margin-top:40px;padding-top:32px;border-top:1px solid var(--gold-soft)}
.con-info dt{font-size:10px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;margin-bottom:8px}
.con-info dd{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--navy);font-weight:500;margin-bottom:24px}
form{display:grid;gap:24px}
.risposta-cf7,.risposta-cf7 .wpcf7{min-width:0}
.risposta-cf7 .wpcf7-form,.risposta-cf7 .cf7-grid,form.risposta-cf7{display:grid;grid-template-columns:1fr 1fr;gap:24px 28px}
.risposta-cf7 .cf7-grid{grid-column:1/-1}
.risposta-cf7 p{margin:0}
.risposta-cf7 .wpcf7-form>p{display:contents}
.risposta-cf7 br,.risposta-cf7 .hidden-fields-container{display:none}
.field{display:flex;flex-direction:column;gap:8px}
.field-full{grid-column:1/-1}
.field label,.field>span:first-child,label.field{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}
.wpcf7-form-control-wrap{display:block;margin-top:8px}
.field input,.field select,.field textarea{width:100%;padding:14px 0;background:transparent;border:none;border-bottom:1px solid rgba(10,23,51,.25);font-family:inherit;font-size:14px;letter-spacing:0;color:var(--navy);transition:border-color .3s}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold)}
.field textarea{min-height:100px;resize:vertical}
.consent{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--navy-2)}
.consent .wpcf7-form-control-wrap{margin-top:0}
.consent .wpcf7-list-item{margin:0}
.consent .wpcf7-list-item label{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.04em;text-transform:none;color:var(--navy-2)}
.consent input{width:auto;min-width:14px}
.submit,.wpcf7-submit{padding:18px 40px;background:var(--navy);color:var(--cream);font-size:11px;letter-spacing:.3em;text-transform:uppercase;border:none;cursor:pointer;transition:.4s;font-family:inherit;justify-self:start;border:1px solid var(--navy)}
.submit:hover,.wpcf7-submit:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.wpcf7-submit{grid-column:1/-1}
.wpcf7-not-valid-tip{display:block;margin-top:8px;font-size:11px;letter-spacing:.04em;color:#a94d3b}
.wpcf7 form .wpcf7-response-output{grid-column:1/-1;margin:4px 0 0!important;padding:14px 16px!important;border:1px solid rgba(18,154,171,.28)!important;background:rgba(18,154,171,.06);color:var(--navy-2);font-size:12px;line-height:1.8}
.wpcf7-spinner{margin:0 0 0 12px}

/* Map */
.map-section{background:var(--cream-2);padding:0}
.map-section iframe{width:100%;height:420px;border:none;filter:grayscale(.3) contrast(.9)}

/* Footer */
footer{background:var(--navy);color:var(--cream);padding:80px 56px 32px}
.ft-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;margin-bottom:60px}
.ft-brand{font-family:'Playfair Display',serif;font-weight:900;font-size:32px;letter-spacing:.18em;color:var(--cream);margin-bottom:20px}
.ft-brand i{color:var(--gold);font-style:normal}
.ft-brand-img{width:min(250px,72vw);height:auto}
.ft-brand-img img{width:100%;height:auto;filter:drop-shadow(0 18px 42px rgba(0,0,0,.18))}
.ft-tagline{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--gold);max-width:300px;line-height:1.6}
.ft-col h4{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.ft-col ul{list-style:none}
.ft-col li{margin-bottom:12px}
.ft-col a{font-size:13px;color:rgba(247,245,240,.7);transition:color .3s;font-family:'Noto Sans JP',sans-serif}
.ft-col a:hover{color:var(--gold)}
.ft-bottom{padding-top:32px;border-top:1px solid var(--gold-soft);display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.2em;color:rgba(247,245,240,.5);text-transform:uppercase}
.ft-back{color:var(--gold);text-decoration:none;font-family:'Cormorant Garamond',serif;font-style:italic;letter-spacing:.1em;font-size:14px;text-transform:none}

/* Page Hero (sub-pages) */
.page-hero{padding:200px 56px 100px;background:var(--navy);color:var(--cream);position:relative;overflow:hidden;border-bottom:1px solid var(--gold-soft)}
.page-hero .bg-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.35;z-index:0;mix-blend-mode:luminosity}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,51,.5) 0%,rgba(10,23,51,.92) 100%);z-index:1;pointer-events:none}
.page-hero>*{position:relative;z-index:2}
.page-hero::before{content:'';position:absolute;top:50%;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(201,169,97,.2),transparent 65%);filter:blur(40px);transform:translateY(-50%);z-index:1}
.page-hero-inner{position:relative;z-index:1;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.breadcrumb{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:32px;display:flex;align-items:center;gap:14px}
.breadcrumb a{color:rgba(247,245,240,.6);transition:color .3s}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb span{color:rgba(247,245,240,.3)}
.page-hero h1{font-family:'Noto Serif JP',serif;font-weight:300;font-size:clamp(48px,6vw,84px);line-height:1.15;letter-spacing:.01em;color:var(--cream)}
.page-hero h1 em{font-style:italic;font-family:'Cormorant Garamond',serif;color:var(--gold);font-weight:500}
.page-hero .en{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:24px;color:var(--gold);letter-spacing:.04em;margin-bottom:20px}
.page-hero .ph-desc{font-size:14px;line-height:2.2;color:rgba(247,245,240,.75);letter-spacing:.05em;max-width:480px}
.page-hero .ph-num{position:absolute;top:140px;right:56px;font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:200px;color:rgba(201,169,97,.12);line-height:1;letter-spacing:-.02em}
.message-hero .bg-img{opacity:.58;mix-blend-mode:normal;background-position:center 38%}
.message-hero::after{background:linear-gradient(90deg,rgba(10,23,51,.96) 0%,rgba(10,23,51,.72) 48%,rgba(10,23,51,.42) 100%),linear-gradient(180deg,rgba(10,23,51,.48) 0%,rgba(10,23,51,.92) 100%)}
.message-hero .ph-desc{color:rgba(247,245,240,.86)}

/* Bottom CTA block (universal) */
.cta-block{background:var(--cream-2);padding:120px 56px;text-align:center;border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft)}
.cta-block .cta-eyebrow{font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.cta-block h2{font-family:'Noto Serif JP',serif;font-weight:300;font-size:clamp(36px,4.5vw,60px);line-height:1.3;color:var(--navy);margin-bottom:24px;letter-spacing:.01em}
.cta-block h2 em{font-style:italic;color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:500}
.cta-block p{font-size:14px;color:var(--navy-2);line-height:2;max-width:560px;margin:0 auto 48px;letter-spacing:.05em}
.cta-block .cta-btn{display:inline-flex;align-items:center;gap:16px;padding:22px 44px;background:var(--navy);color:var(--cream);font-size:11px;letter-spacing:.3em;text-transform:uppercase;border:1px solid var(--navy);transition:.4s}
.cta-block .cta-btn:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}

/* Top-page "summary" cards (linking to sub pages) */
.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft)}
.summary-card{padding:60px 40px;border-right:1px solid var(--gold-soft);transition:background .5s;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:380px}
.summary-card:last-child{border-right:none}
.summary-card:hover{background:var(--navy);color:var(--cream)}
.summary-card:hover h3{color:var(--cream)}
.summary-card:hover .sc-arrow,.summary-card:hover .sc-en{color:var(--gold)}
.summary-card .sc-en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);font-weight:500;letter-spacing:.1em;margin-bottom:24px}
.summary-card h3{font-family:'Noto Serif JP',serif;font-weight:500;font-size:26px;color:var(--navy);line-height:1.4;margin-bottom:20px;transition:color .4s}
.summary-card p{font-size:13px;line-height:1.9;color:var(--navy-2);letter-spacing:.05em;transition:color .4s}
.summary-card:hover p{color:rgba(247,245,240,.7)}
.summary-card .sc-arrow{margin-top:32px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:12px;transition:gap .4s,color .4s}
.summary-card:hover .sc-arrow{gap:20px}

/* RISPOSTA blueprint */
.blueprint{background:var(--cream);overflow:hidden;padding-top:160px}
.bp-bg-word{position:absolute;left:50%;top:80px;transform:translateX(-50%);font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:112px;color:rgba(201,169,97,.07);letter-spacing:.08em;white-space:nowrap;pointer-events:none}
.bp-stage{display:grid;grid-template-columns:minmax(280px,.85fr) 1.6fr;gap:80px;align-items:start}
.bp-left{position:sticky;top:150px;border-top:1px solid var(--gold);padding-top:36px;min-height:360px}
.bp-kicker{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:28px;color:var(--gold);letter-spacing:.06em;margin-bottom:28px}
.bp-left p{font-family:'Noto Serif JP',serif;font-size:17px;line-height:2;color:var(--navy);letter-spacing:.04em;max-width:420px}
.bp-meter{position:absolute;left:0;bottom:0;width:100%;height:1px;background:rgba(10,23,51,.14);overflow:hidden}
.bp-meter i{display:block;width:100%;height:100%;background:var(--gold);transform:scaleX(var(--bp,0));transform-origin:left}
.bp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative}
.bp-grid::before{content:'';position:absolute;left:50%;top:-40px;bottom:-40px;width:1px;background:linear-gradient(180deg,transparent,var(--gold),transparent);opacity:.32}
.bp-card{min-height:330px;padding:38px 34px;border:1px solid rgba(201,169,97,.32);background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(239,235,224,.22));position:relative;overflow:hidden;transition:transform .7s cubic-bezier(.16,1,.3,1),background .7s,border-color .7s}
.bp-card:nth-child(even){margin-top:76px}
.bp-card::before{content:'';position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .8s cubic-bezier(.7,0,.2,1);z-index:0}
.bp-card::after{content:'';position:absolute;left:34px;right:34px;bottom:28px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.7,0,.2,1);z-index:1}
.bp-card:hover{transform:translateY(-14px);border-color:var(--gold)}
.bp-card:hover::before{transform:translateY(0)}
.bp-card:hover::after{transform:scaleX(1)}
.bp-card>*{position:relative;z-index:1;transition:color .5s}
.bp-card span{display:block;font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:58px;color:var(--gold);line-height:1;margin-bottom:34px}
.bp-card h3{font-family:'Noto Serif JP',serif;font-size:26px;line-height:1.35;color:var(--navy);font-weight:500;margin-bottom:20px}
.bp-card p{font-size:13px;line-height:2;color:var(--navy-2);letter-spacing:.04em}
.bp-card:hover h3{color:var(--cream)}
.bp-card:hover p{color:rgba(247,245,240,.74)}

/* Works grid */
.works-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.work-card{background:var(--cream);border:1px solid var(--gold-soft);padding:40px;transition:.5s;cursor:pointer}
.work-card:hover{background:var(--navy);color:var(--cream);transform:translateY(-8px)}
.work-card:hover h3,.work-card:hover .w-cat{color:var(--gold)}
.work-card .w-cat{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.work-card .w-num{font-family:'Playfair Display',serif;font-style:italic;font-size:64px;color:var(--gold);font-weight:900;line-height:1;margin-bottom:20px}
.work-card .w-num sup{font-size:24px}
.work-card h3{font-family:'Noto Serif JP',serif;font-size:22px;font-weight:500;color:var(--navy);line-height:1.4;margin-bottom:16px;transition:color .4s}
.work-card p{font-size:13px;line-height:1.9;color:var(--navy-2);transition:color .4s}
.work-card:hover p{color:rgba(247,245,240,.7)}

/* Service detail (sub page) */
.svc-detail{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--gold-soft)}
.svc-detail-row{display:grid;grid-template-columns:80px 1.2fr 2fr;gap:64px;padding:80px 0;border-bottom:1px solid var(--gold-soft);align-items:start}
.svc-detail-row .num{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:48px;color:var(--gold)}
.svc-detail-row h3{font-family:'Noto Serif JP',serif;font-weight:500;font-size:32px;line-height:1.3;color:var(--navy);margin-bottom:16px}
.svc-detail-row h3 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);font-weight:500;display:block;font-size:18px;margin-top:8px;letter-spacing:.06em}
.svc-detail-row .lead{font-size:15px;line-height:2.2;color:var(--navy-2);margin-bottom:24px;letter-spacing:.05em}
.svc-detail-row ul{list-style:none}
.svc-detail-row ul li{position:relative;padding:14px 0 14px 32px;font-size:14px;color:var(--navy-2);border-bottom:1px solid rgba(10,23,51,.08)}
.svc-detail-row ul li:last-child{border-bottom:none}
.svc-detail-row ul li::before{content:'—';position:absolute;left:0;top:14px;color:var(--gold);font-weight:600}

/* Strengths detail */
.str-detail{display:grid;grid-template-columns:1fr;gap:0}
.str-detail-row{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;padding:100px 0;border-bottom:1px solid var(--gold-soft);align-items:center}
.str-detail-row:first-child{border-top:1px solid var(--gold-soft)}
.str-detail-row:nth-child(even){grid-template-columns:1.4fr 1fr;direction:rtl}
.str-detail-row:nth-child(even)>*{direction:ltr}
.str-detail-row .visual{aspect-ratio:4/3;background:linear-gradient(135deg,var(--navy),var(--navy-2));position:relative;overflow:hidden;isolation:isolate}
.str-detail-row .visual::before{content:'';position:absolute;inset:16px;border:1px solid var(--gold);z-index:4;pointer-events:none}
.str-detail-row .visual::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,51,.2) 0%,rgba(10,23,51,.86) 100%);z-index:1;pointer-events:none}
.str-detail-row .visual .v-img{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.62;filter:grayscale(.35) contrast(1.08) saturate(.78);transform:scale(1.03);transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity .8s,filter .8s;z-index:0}
.str-detail-row:hover .visual .v-img{transform:scale(1.11);opacity:.78;filter:grayscale(.08) contrast(1.08) saturate(.95)}
.str-detail-row .visual .v-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:200px;color:rgba(201,169,97,.92);line-height:1;letter-spacing:-.04em;z-index:2;text-shadow:0 16px 60px rgba(0,0,0,.45)}
.str-detail-row .visual .v-lbl{position:absolute;bottom:32px;left:32px;font-size:11px;letter-spacing:.3em;color:var(--gold);text-transform:uppercase;z-index:3}
.str-detail-row .content .n{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--gold);font-weight:500;letter-spacing:.1em;margin-bottom:24px}
.str-detail-row .content h3{font-family:'Noto Serif JP',serif;font-weight:500;font-size:40px;line-height:1.3;color:var(--navy);margin-bottom:32px}
.str-detail-row .content h3 em{font-style:italic;color:var(--gold);font-family:'Cormorant Garamond',serif;font-weight:500}
.str-detail-row .content p{font-size:15px;line-height:2.2;color:var(--navy-2);letter-spacing:.05em;margin-bottom:20px}

/* Recruit detail */
.rec-positions{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:60px}
.rec-card{padding:48px 32px;border:1px solid rgba(247,245,240,.2);background:rgba(255,255,255,.02);transition:.5s;display:flex;flex-direction:column}
.rec-card:hover{border-color:var(--gold);background:rgba(201,169,97,.05);transform:translateY(-8px)}
.rec-card .label{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.rec-card h3{font-family:'Noto Serif JP',serif;font-size:24px;font-weight:500;color:var(--cream);margin-bottom:16px;line-height:1.4}
.rec-card .en{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);margin-bottom:32px;letter-spacing:.08em}
.rec-card ul{list-style:none;flex:1;margin-bottom:32px}
.rec-card li{font-size:13px;color:rgba(247,245,240,.7);padding:8px 0;border-bottom:1px solid rgba(247,245,240,.08);display:flex;justify-content:space-between;gap:16px}
.rec-card li span{color:var(--gold)}
.rec-card .more{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:12px;align-self:flex-start}

/* Scroll progress */
.progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);width:0;z-index:101;transition:width .15s linear}

/* Reveal */
.r-fade{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.r-fade.in{opacity:1;transform:translateY(0)}

/* === GOLD STANDARD enhancements === */
/* Char-split heading reveal (stagger 32ms; subtle lift + gold ink seep) */
.chars-ready{padding-bottom:.18em;overflow:visible;line-height:1.18}
.hero h1.chars-ready,.page-hero h1.chars-ready,.s-title.chars-ready,.section-title.chars-ready{padding-bottom:.22em}
.chars-ready .char{
  display:inline-block;
  opacity:0;
  transform:translateY(.55em) rotateX(-32deg);
  transform-origin:0 100%;
  transition:opacity .7s cubic-bezier(.7,0,.2,1),transform .9s cubic-bezier(.7,0,.2,1),color .9s cubic-bezier(.7,0,.2,1);
  transition-delay:calc(var(--i,0) * 32ms);
  will-change:transform,opacity;
  vertical-align:baseline
}
.chars-ready em .char,.chars-ready i .char{color:var(--gold)}
.chars-in .char{opacity:1;transform:translateY(0) rotateX(0)}

/* Mask slide reveal panel — used on section transitions */
.mask-reveal{position:relative;overflow:hidden}
.mask-reveal::after{content:'';position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(0);transition:transform 1.1s cubic-bezier(.86,0,.07,1);pointer-events:none;z-index:5}
.mask-reveal.swiped::after{transform:scaleX(1);transform-origin:right;transform:scaleX(0)}
.mask-reveal.swipe-in::after{transform:scaleX(1)}

/* Hairline gold line-draw — generic */
.ln-draw{position:relative;display:block;width:100%;height:1px;overflow:hidden;background:transparent}
.ln-draw::before{content:'';position:absolute;left:0;top:0;height:100%;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.7,0,.2,1)}
.ln-draw.drawn::before{transform:scaleX(1)}

/* Parallax-ready */
.parallax{will-change:transform}
.parallax-bg{background-position:center calc(50% + var(--py,0px))!important}

/* Magnetic hover targets */
.hero-cta,.cta-block .cta-btn,.submit,.wpcf7-submit,.hbtn{will-change:transform;transition:background .4s,border-color .4s,color .4s,transform .4s cubic-bezier(.16,1,.3,1)}

/* Section background smooth transitions */
section,footer,.page-hero,.cta-block{transition:background-color 1s cubic-bezier(.7,0,.3,1)}

/* About card image parallax */
.about-card,.msg-portrait,.hero-visual,.page-hero{will-change:background-position}

/* Strength item hover shimmer */
.str-item{overflow:hidden}
.str-item::before{content:'';position:absolute;left:-100%;top:0;bottom:0;width:60%;background:linear-gradient(110deg,transparent 30%,rgba(201,169,97,.08) 50%,transparent 70%);transition:left 1.1s cubic-bezier(.7,0,.2,1);pointer-events:none;z-index:0}
.str-item:hover::before{left:120%}
.str-item>*{position:relative;z-index:1}

/* Gold underline grow on links */
.brand{position:relative;display:inline-block}
.brand::after{content:'';position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--gold);transition:width .8s cubic-bezier(.7,0,.2,1)}
.header.scrolled .brand::after{width:100%}

/* CTA ripple on hover */
.hero-cta,.cta-block .cta-btn{position:relative;overflow:hidden}
.hero-cta::after,.cta-block .cta-btn::after{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-110%);transition:transform .9s cubic-bezier(.7,0,.2,1);pointer-events:none}
.hero-cta:hover::after,.cta-block .cta-btn:hover::after{transform:translateX(110%)}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .chars-ready .char{transition:none;opacity:1;transform:none}
  .r-fade{transition:none;opacity:1;transform:none}
  .mask-reveal::after,.ln-draw::before{transition:none}
  .parallax{transform:none!important}
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.1s!important}
}

/* Responsive */
@media(max-width:1180px){
  .hero{padding:120px 40px 60px;grid-template-columns:1.1fr 1fr}
  section{padding:120px 40px}
  .section-head{gap:48px}
  .header,.scroll-hint,footer{padding-left:40px;padding-right:40px}
}
@media(max-width:900px){
  body{cursor:auto}
  .cursor,.cursor-ring{display:none}
  .header{padding:18px 24px}
  .header .nav{display:none}
  .brand-img{width:150px;min-width:150px;height:32px}
  .hero{grid-template-columns:1fr;padding:120px 24px 60px;text-align:left}
  .hero::before{font-size:80px;top:90px;left:24px}
  .hero-r{height:60vh;margin-top:48px}
  section{padding:80px 24px}
  .section-head{grid-template-columns:1fr;gap:24px;margin-bottom:48px}
  .section-num{font-size:64px}
  .about-grid,.msg-grid,.con-grid{grid-template-columns:1fr;gap:48px}
  .about-grid>*,.msg-grid>*,.con-grid>*,.con-l,form{min-width:0;max-width:100%}
  .risposta-cf7 .wpcf7-form,.risposta-cf7 .cf7-grid,form.risposta-cf7{grid-template-columns:1fr}
  .con-info dd,.msg-text p,.msg-text blockquote,.field label{overflow-wrap:anywhere}
  .field input,.field select,.field textarea{width:100%;min-width:0}
  .str-list{grid-template-columns:1fr}
  .str-item{padding:40px 28px}
  .svc-row{grid-template-columns:40px 1fr;gap:16px}
  .svc-row .svc-desc,.svc-row .svc-arrow{display:none}
  .num-grid{grid-template-columns:1fr 1fr;border-left:1px solid var(--gold-soft)}
  .num-box{border-bottom:1px solid var(--gold-soft)}
  .num-box .big{font-size:60px}
  .summary-grid{grid-template-columns:1fr}
  .summary-card{min-height:auto;padding:34px 24px;border-right:none;border-bottom:1px solid var(--gold-soft)}
  .summary-card:last-child{border-bottom:none}
  .summary-card h3{font-size:22px;overflow-wrap:anywhere}
  .summary-card p,.summary-card .sc-arrow{overflow-wrap:anywhere}
  .comp-grid{grid-template-columns:1fr}
  .comp-grid dl{grid-template-columns:1fr;gap:8px}
  .comp-grid dl:nth-child(odd),.comp-grid dl:nth-child(even){padding:24px 0;border-left:none}
  .comp-grid dd{overflow-wrap:anywhere;word-break:break-word}
  .ft-grid{grid-template-columns:1fr;gap:40px}
  .scroll-hint{display:none}
  footer{padding:60px 24px 24px}
  .ft-brand-img{width:220px}
  .ft-bottom{flex-direction:column;gap:16px;text-align:center}
}
/* === Awwwards-tier additions === */
/* Loader — cinematic gold hairline under the brand mark */
.loader{flex-direction:column;gap:28px}
.loader-line{position:relative;z-index:2;width:min(340px,64vw);height:1px;background:rgba(201,169,97,.18);overflow:hidden}
.loader-line::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--gold),var(--cream),var(--gold));transform:scaleX(var(--load-progress));transform-origin:left;transition:transform .35s cubic-bezier(.7,0,.2,1)}
.loader-line::after{content:'';position:absolute;top:-8px;left:calc(var(--load-progress) * 100%);width:16px;height:16px;border-radius:50%;background:rgba(201,169,97,.62);filter:blur(9px);transform:translateX(-50%)}
.loader-mini{position:relative;z-index:2;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:11px;letter-spacing:.4em;color:var(--gold);text-transform:uppercase;opacity:0;animation:lFade .7s .8s forwards}
.loader-count{position:fixed;right:44px;bottom:34px;z-index:2;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:24px;color:rgba(201,169,97,.72);letter-spacing:.08em}
.loader-count::after{content:'%';font-size:12px;margin-left:4px}
.loader.is-complete .loader-line,.loader.is-complete .loader-mini,.loader.is-complete .loader-count{transition:opacity .38s cubic-bezier(.7,0,.2,1),transform .5s cubic-bezier(.7,0,.2,1);opacity:0;transform:translateY(-10px)}
@keyframes lFade{to{opacity:.85}}

/* Nav underline — refined left→right draw with delay */
.nav a::after{transition:transform .55s cubic-bezier(.7,0,.2,1),width 0s .55s;width:100%;transform:scaleX(0);transform-origin:left}
.nav a:hover::after{transform:scaleX(1);transition:transform .6s cubic-bezier(.7,0,.2,1)}

/* Count-up overshoot keyframe */
.num-overshoot{animation:numPop .5s cubic-bezier(.22,1,.36,1) forwards}
@keyframes numPop{0%{transform:translateY(2px) scale(.97)}60%{transform:translateY(-2px) scale(1.04)}100%{transform:translateY(0) scale(1)}}

/* Inter-section ambient gold hairline (scroll-triggered) */
.section-rule{position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:0;transform:scaleX(.2);transform-origin:center;transition:opacity 1s ease,transform 1.4s cubic-bezier(.7,0,.2,1);pointer-events:none;z-index:3}
section.in-view + section::before,section.rule-on::before{content:'';position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);opacity:.7;transform:scaleX(1);transition:opacity 1s ease,transform 1.4s cubic-bezier(.7,0,.2,1);pointer-events:none;z-index:3}

/* === Pinned Strengths story === */
.pin-stage{position:relative}
.pin-stage .pin-track{position:relative}
.pin-stage .pin-l{position:sticky;top:18vh;height:64vh;display:flex;flex-direction:column;justify-content:center;align-self:start}
.pin-stage .pin-l .pn{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:clamp(120px,16vw,220px);color:var(--gold);line-height:.85;letter-spacing:-.04em;transition:opacity .5s,transform .8s cubic-bezier(.7,0,.2,1)}
.pin-stage .pin-l .pt{font-family:'Noto Serif JP',serif;font-weight:400;font-size:clamp(22px,2.2vw,30px);color:var(--cream);margin-top:24px;letter-spacing:.04em;line-height:1.5;transition:opacity .5s}
.pin-stage .pin-l .pe{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14px;color:var(--gold);letter-spacing:.2em;margin-top:18px}

/* Summary card hover overlay (Awwwards-style cover sweep) */
.summary-card{position:relative;overflow:hidden}
.summary-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.7,0,.2,1)}
.summary-card:hover::after{transform:scaleX(1)}

@media(max-width:900px){
  .pin-stage .pin-l{position:static;height:auto;text-align:left;margin-bottom:32px}
}

@media(max-width:480px){
  .hero h1,.section-title{font-size:36px!important}
  .msg-text blockquote{font-size:22px;padding-left:16px}
  .about-text p.lead{font-size:18px}
  .about-card{padding:32px}
  .about-card .stat{font-size:90px;top:32px;left:32px}
  .about-card .stat-label{left:32px;right:32px;bottom:32px}
}

/* === FV reveal gate — wait until body.loaded === */
body:not(.loaded) .hero .r-fade,
body:not(.loaded) .hero .r,
body:not(.loaded) .hero-content .r,
body:not(.loaded) .hero-side-l .r,
body:not(.loaded) .hero-side-r .r,
body:not(.loaded) .hero-center .r,
body:not(.loaded) .hero .reveal span,
body:not(.loaded) .hero h1 .ln > span,
body:not(.loaded) .hero-center h1 .ln > span,
body:not(.loaded) .hero .chars-ready,
body:not(.loaded) .hero .chars-ready .char,
body:not(.loaded) .hero-center .chars-ready,
body:not(.loaded) .hero-center .chars-ready .char {
  transition: none !important;
  animation-play-state: paused !important;
}
body:not(.loaded) .hero .r-fade,
body:not(.loaded) .hero .r,
body:not(.loaded) .hero-content .r,
body:not(.loaded) .hero-side-l .r,
body:not(.loaded) .hero-side-r .r,
body:not(.loaded) .hero-center .r {
  opacity: 0 !important;
  transform: translateY(40px) !important;
}
body:not(.loaded) .hero .reveal span,
body:not(.loaded) .hero h1 .ln > span,
body:not(.loaded) .hero-center h1 .ln > span {
  transform: translateY(110%) !important;
}
body:not(.loaded) .hero .chars-ready .char,
body:not(.loaded) .hero-center .chars-ready .char {
  opacity: 0 !important;
  transform: translateY(.55em) rotateX(-32deg) !important;
}

/* FV staged entrance — loader release controls the timing */
.hero::before{transition:opacity 1s cubic-bezier(.7,0,.2,1),transform 1.2s cubic-bezier(.7,0,.2,1)}
body:not(.loaded) .hero::before{opacity:0;transform:translateY(24px) scale(.96)}
.hero .eyebrow,.hero p,.hero-cta,.hero-visual,.scroll-hint{will-change:opacity,transform,clip-path}
.hero h1 .reveal:nth-of-type(1).in span{transition-delay:.16s}
.hero h1 .reveal:nth-of-type(2).in span{transition-delay:.28s}
.hero h1 .reveal:nth-of-type(3).in span{transition-delay:.46s}
body.loaded .hero .eyebrow.in{transition-delay:.06s}
body.loaded .hero p.in{transition-delay:.76s}
body.loaded .hero .hero-cta.in{transition-delay:.92s}
body.loaded .hero .hero-visual.r-fade.in{opacity:1;transform:none;clip-path:inset(0);transition-delay:.38s}
body.loaded .hero .scroll-hint{opacity:1;transform:none;transition-delay:1.16s}
body:not(.loaded) .hero .hero-visual.r-fade{opacity:0!important;transform:translateX(60px) scale(.96)!important;clip-path:inset(0 0 0 100%)}
body:not(.loaded) .hero .scroll-hint{opacity:0;transform:translateY(20px)}
body:not(.loaded) .hero-depth .depth-line,
body:not(.loaded) .hero-depth .depth-copy,
body:not(.loaded) .hero-depth .depth-slice{opacity:0!important}
body:not(.loaded) .hero-depth .depth-slice{filter:grayscale(1) blur(8px)!important}
body.fv-live .hero-depth .depth-line{animation:depthLineIn 1.2s cubic-bezier(.7,0,.2,1) both}
body.fv-live .hero-depth .depth-copy{animation:depthCopyIn 1s .65s cubic-bezier(.7,0,.2,1) both}
body.fv-live .hero-depth .depth-slice{opacity:.22!important;filter:grayscale(1) contrast(1.05);transition:opacity 1.45s .28s cubic-bezier(.16,1,.3,1),filter 1.45s .28s cubic-bezier(.16,1,.3,1)}
.hero-visual{clip-path:inset(0);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1.2s cubic-bezier(.16,1,.3,1),clip-path 1.25s cubic-bezier(.86,0,.07,1)}
.hero-visual::before{content:'';position:absolute;inset:-28%;z-index:2;background:linear-gradient(110deg,transparent 28%,rgba(247,245,240,.34) 48%,rgba(201,169,97,.28) 53%,transparent 72%);transform:translateX(-130%) rotate(8deg);pointer-events:none}
body.fv-live .hero-visual.in::before{animation:heroSheen 1.55s .92s cubic-bezier(.7,0,.2,1) both}
.hero-visual .frame{transition:clip-path 1s .66s cubic-bezier(.86,0,.07,1),opacity .6s .48s}
body:not(.loaded) .hero-visual .frame{clip-path:inset(0 100% 0 0);opacity:0}
@keyframes depthLineIn{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:.35;clip-path:inset(0)}}
@keyframes depthCopyIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes heroSheen{0%{transform:translateX(-130%) rotate(8deg)}100%{transform:translateX(130%) rotate(8deg)}}

/* News list — Pattern A */
.news{background:var(--cream-2);padding:140px 56px}
.news .section-title{color:var(--navy)}
.news-list{border-top:1px solid var(--gold-soft);margin-top:40px}
.news-row{display:grid;grid-template-columns:140px 120px 1fr 40px;gap:32px;align-items:center;padding:28px 0;border-bottom:1px solid var(--gold-soft);transition:padding .4s;text-decoration:none}
.news-row:hover{padding-left:16px;background:rgba(201,169,97,.04)}
.news-row .date{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--gold);font-weight:500;letter-spacing:.04em}
.news-row .cat{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);padding:6px 14px;border:1px solid var(--gold-soft);justify-self:start;font-weight:500;background:var(--cream)}
.news-row .ttl{font-family:'Noto Serif JP',serif;font-size:16px;color:var(--navy);line-height:1.6;letter-spacing:.02em}
.news-row .arrow{font-size:16px;color:var(--gold);text-align:right;transition:transform .4s}
.news-row:hover .arrow{transform:translateX(6px)}
.news-more{text-align:right;margin-top:32px}
.news-more a{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.news-more a::after{content:'';width:36px;height:1px;background:var(--gold)}
@media(max-width:900px){
  .news{padding:80px 24px}
  .news-row{grid-template-columns:90px 1fr;gap:14px;padding:20px 0}
  .news-row .cat{grid-column:2}
  .news-row .ttl{grid-column:1/-1;font-size:14px}
  .news-row .arrow{display:none}
}

@media(max-width:900px){
  .depth-slice{display:none}
  .depth-copy{right:18px;top:58%;font-size:11px;opacity:.35}
  .blueprint{padding:96px 24px}
  .bp-bg-word{font-size:52px;top:44px}
  .bp-stage{grid-template-columns:1fr;gap:40px}
  .bp-left{position:relative;top:auto;min-height:auto;padding-bottom:36px}
  .bp-grid{grid-template-columns:1fr;gap:18px}
  .bp-grid::before{display:none}
  .bp-card,.bp-card:nth-child(even){min-height:auto;margin-top:0;padding:30px 24px}
}

/* === FV reveal gate (sub-pages page-hero) === */
body:not(.loaded) .page-hero .r-fade,
body:not(.loaded) .page-hero .r,
body:not(.loaded) .page-hero .reveal span,
body:not(.loaded) .page-hero h1 .ln > span,
body:not(.loaded) .page-hero .chars-ready,
body:not(.loaded) .page-hero .chars-ready .char,
body:not(.loaded) .page-hero .ph-en,
body:not(.loaded) .page-hero .ph-desc,
body:not(.loaded) .page-hero .breadcrumb,
body:not(.loaded) .page-hero h1,
body:not(.loaded) .page-hero .ph-num {
  transition: none !important;
  animation-play-state: paused !important;
}
body:not(.loaded) .page-hero .chars-ready .char {
  opacity: 0 !important;
  transform: translateY(.55em) rotateX(-32deg) !important;
}
body:not(.loaded) .page-hero .r-fade,
body:not(.loaded) .page-hero .r {
  opacity: 0 !important;
  transform: translateY(40px) !important;
}
body:not(.loaded) .page-hero .reveal span,
body:not(.loaded) .page-hero h1 .ln > span {
  transform: translateY(110%) !important;
}

/* page-hero reveal — staged entrance after loaded */
body.loaded .page-hero{--stage:1}
.page-hero .breadcrumb,
.page-hero .ph-en,
.page-hero h1,
.page-hero .ph-desc,
.page-hero .ph-num{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.7,0,.2,1),transform .9s cubic-bezier(.7,0,.2,1)}
body.loaded .page-hero .breadcrumb{opacity:1;transform:none;transition-delay:.1s}
body.loaded .page-hero .ph-en{opacity:1;transform:none;transition-delay:.25s}
body.loaded .page-hero h1{opacity:1;transform:none;transition-delay:.4s}
body.loaded .page-hero .ph-desc{opacity:1;transform:none;transition-delay:.7s}
body.loaded .page-hero .ph-num{opacity:1;transform:none;transition-delay:.55s}

/* Pattern A — page-hero sub-element staged entrance fix (.en class) */
.page-hero .en{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.7,0,.2,1),transform .9s cubic-bezier(.7,0,.2,1)}
body.loaded .page-hero .en{opacity:1;transform:none;transition-delay:.25s}
body:not(.loaded) .page-hero .en{opacity:0!important;transform:translateY(24px)!important;transition:none!important}

/* === Sub-page architectural system === */
.is-subpage .page-hero{--sx:0;--sy:0;min-height:86vh;display:flex;align-items:flex-end}
.sub-hero-architecture{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.sha-grid{position:absolute;inset:9%;border:1px solid rgba(201,169,97,.18);background-image:linear-gradient(rgba(201,169,97,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,97,.08) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent)}
.sha-plane{position:absolute;background-size:cover;background-position:center;filter:grayscale(1) contrast(1.08);opacity:.28;box-shadow:0 40px 130px rgba(0,0,0,.32);border:1px solid rgba(201,169,97,.35);clip-path:polygon(12% 0,100% 10%,88% 100%,0 90%);transform:translate3d(calc(var(--sx)*22px),calc(var(--sy)*-18px),0) rotate(-8deg)}
.sha-plane::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,23,51,.12),rgba(10,23,51,.82))}
.sha-plane span{position:absolute;left:28px;bottom:24px;z-index:1;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--gold);letter-spacing:.28em;text-transform:uppercase}
.sha-a{right:7%;top:17%;width:min(30vw,380px);height:48vh}
.sha-b{left:5%;bottom:10%;width:min(24vw,300px);height:32vh;transform:translate3d(calc(var(--sx)*-18px),calc(var(--sy)*16px),0) rotate(9deg)}
.sha-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.42}
.sha-line.l1{left:-8%;right:-8%;top:36%;transform:rotate(-7deg)}
.sha-line.l2{left:-8%;right:-8%;bottom:24%;transform:rotate(6deg)}
.sub-experience{background:var(--cream);padding:130px 56px 150px;overflow:hidden;border-bottom:1px solid var(--gold-soft)}
.sub-exp-word{position:absolute;left:50%;top:54px;transform:translateX(-50%);font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:clamp(74px,11vw,170px);color:rgba(201,169,97,.06);white-space:nowrap;pointer-events:none}
.sub-exp-head{position:relative;z-index:1;display:grid;grid-template-columns:.72fr 1.7fr;gap:70px;margin-bottom:74px;align-items:end}
.sub-exp-head span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--gold);letter-spacing:.2em;display:flex;align-items:center;gap:18px}
.sub-exp-head span::before{content:'';width:64px;height:1px;background:var(--gold)}
.sub-exp-head h2{font-family:'Noto Serif JP',serif;font-weight:300;font-size:clamp(34px,4.4vw,66px);line-height:1.22;color:var(--navy);letter-spacing:.01em}
.sub-exp-head h2 em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--gold);font-weight:500}
.sub-exp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--gold-soft);border-bottom:1px solid var(--gold-soft);position:relative;z-index:1}
.sub-exp-card{min-height:380px;padding:42px 30px;border-right:1px solid var(--gold-soft);position:relative;overflow:hidden;background:rgba(255,255,255,.22);transition:transform .7s cubic-bezier(.16,1,.3,1),background .7s}
.sub-exp-card:last-child{border-right:none}
.sub-exp-card:nth-child(even){transform:translateY(38px)}
.sub-exp-card::before{content:'';position:absolute;inset:0;background:var(--navy);transform:translateY(101%);transition:transform .8s cubic-bezier(.7,0,.2,1)}
.sub-exp-card:hover{transform:translateY(-12px)}
.sub-exp-card:nth-child(even):hover{transform:translateY(22px)}
.sub-exp-card:hover::before{transform:translateY(0)}
.sub-exp-card>*{position:relative;z-index:1;transition:color .5s}
.sub-exp-card span{display:block;font-family:'Playfair Display',serif;font-style:italic;font-weight:900;font-size:48px;color:var(--gold);line-height:1;margin-bottom:84px}
.sub-exp-card h3{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:38px;color:var(--navy);font-weight:500;margin-bottom:20px}
.sub-exp-card p{font-size:13px;line-height:2;color:var(--navy-2);letter-spacing:.04em}
.sub-exp-card:hover h3{color:var(--cream)}
.sub-exp-card:hover p{color:rgba(247,245,240,.72)}
.is-subpage .svc-detail-row,.is-subpage .str-detail-row,.is-subpage .work-card,.is-subpage .rec-card,.is-subpage .comp-grid dl{position:relative;overflow:hidden}
.is-subpage .svc-detail-row::before,.is-subpage .str-detail-row::before,.is-subpage .work-card::before,.is-subpage .rec-card::before,.is-subpage .comp-grid dl::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .6s cubic-bezier(.7,0,.2,1)}
.is-subpage .svc-detail-row:hover::before,.is-subpage .str-detail-row:hover::before,.is-subpage .work-card:hover::before,.is-subpage .rec-card:hover::before,.is-subpage .comp-grid dl:hover::before{transform:scaleY(1)}

@media(max-width:900px){
  .is-subpage .page-hero{min-height:auto}
  .sub-hero-architecture{display:none}
  .sub-experience{padding:84px 24px 100px}
  .sub-exp-word{display:none}
  .sub-exp-head{grid-template-columns:1fr;gap:24px;margin-bottom:42px}
  .sub-exp-grid{grid-template-columns:1fr}
  .sub-exp-card,.sub-exp-card:nth-child(even),.sub-exp-card:hover,.sub-exp-card:nth-child(even):hover{min-height:auto;transform:none;border-right:none;border-bottom:1px solid var(--gold-soft)}
  .sub-exp-card span{margin-bottom:34px}
}

/* === Brand color refresh: white base + RISPOSTA teal gradient === */
:root{
  --navy:#063b47;
  --navy-2:#155360;
  --navy-3:#0c6f7f;
  --brand-deep:#063b47;
  --brand-teal-1:#18899a;
  --brand-teal-2:#129aab;
  --brand-teal-3:#0c6f7f;
  --brand-gradient:linear-gradient(90deg,#18899a 0%,#129aab 52%,#0c6f7f 100%);
  --brand-gradient-deep:linear-gradient(135deg,#18899a 0%,#129aab 44%,#0c6f7f 100%);
  --brand-gradient-dark:linear-gradient(135deg,#18899a 0%,#0c6f7f 52%,#063b47 100%);
  --cream:#fff;
  --cream-2:#f7fbfb;
  --gold-soft:rgba(18,154,171,.18);
}
body{background:var(--cream)}
.header.scrolled{background:rgba(255,255,255,.93);border-color:rgba(18,154,171,.2)}
.loader{background:radial-gradient(circle at 50% 44%,rgba(201,169,97,.16),transparent 34%),var(--brand-gradient-dark)}
.loader::after{background:var(--cream)}
.hbtn,.hero-cta,.submit,.wpcf7-submit,.cta-block .cta-btn{
  background:var(--brand-gradient);
  border-color:transparent;
  color:#fff;
  box-shadow:0 18px 38px rgba(12,111,127,.18);
}
.hbtn:hover,.hero-cta:hover,.submit:hover,.wpcf7-submit:hover,.cta-block .cta-btn:hover{
  background:#fff;
  border-color:var(--brand-teal-2);
  color:var(--brand-deep);
}
.hero,.about,.message,.contact,.blueprint,.sub-experience{background:var(--cream)}
.services,.company,.map-section,.cta-block,.news{background:var(--cream-2)}
.about-card,.strengths,.str-item,.numbers,.recruit,footer,.page-hero,
.hero-visual,.msg-portrait,.str-detail-row .visual{
  background:var(--brand-gradient-dark);
}
.str-item:hover{background:linear-gradient(135deg,#129aab 0%,#0c6f7f 54%,#063b47 100%)}
.svc-row::before,.summary-card:hover,.bp-card::before,.work-card:hover,.sub-exp-card::before{
  background:var(--brand-gradient-dark);
}
.bp-card:hover,.work-card:hover,.summary-card:hover{box-shadow:0 28px 70px rgba(12,111,127,.16)}
.hero-visual .overlay{background:linear-gradient(180deg,rgba(24,137,154,.22) 0%,rgba(6,59,71,.82) 100%)}
.hero-visual .glow{background:radial-gradient(circle,rgba(18,154,171,.42),rgba(201,169,97,.2) 42%,transparent 70%)}
.msg-portrait .img-bg::after{background:linear-gradient(180deg,rgba(24,137,154,.22),rgba(6,59,71,.76))}
.str-detail-row .visual::after{background:linear-gradient(180deg,rgba(24,137,154,.18) 0%,rgba(6,59,71,.84) 100%)}
.page-hero::after{background:linear-gradient(180deg,rgba(24,137,154,.42) 0%,rgba(6,59,71,.92) 100%)}
.message-hero::after{background:linear-gradient(90deg,rgba(6,59,71,.96) 0%,rgba(12,111,127,.74) 50%,rgba(24,137,154,.42) 100%),linear-gradient(180deg,rgba(24,137,154,.38) 0%,rgba(6,59,71,.92) 100%)}
.depth-slice::after,.sha-plane::after{background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(6,59,71,.64))}
.depth-line,.sha-line,.bp-grid::before,.section-rule,section.in-view + section::before,section.rule-on::before{background:linear-gradient(90deg,transparent,var(--brand-teal-2),var(--gold),transparent)}
.scroll-hint::after{background:var(--brand-deep)}
.scroll-hint .line{background:rgba(6,59,71,.18)}
.scroll-hint .line::before,.progress{background:var(--brand-gradient)}
.field input,.field select,.field textarea{border-bottom-color:rgba(12,111,127,.26)}
.svc-row{border-top-color:rgba(12,111,127,.16)}
.svc-row:last-child{border-bottom-color:rgba(12,111,127,.16)}
.summary-card,.work-card,.bp-card,.rec-card{border-color:rgba(18,154,171,.22)}
.news-row:hover{background:rgba(18,154,171,.055)}
.news-row .cat{background:#fff;border-color:rgba(18,154,171,.22)}
.map-section iframe{filter:grayscale(.2) contrast(.94) hue-rotate(145deg) saturate(.8)}
