:root{
  --ink:#101516;
  --paper:#f5f4f0;
  --paper-2:#faf9f6;
  --line:#d7d7d1;
  --muted:#69706e;
  --sage:#d9ddd7;
  --white:#fff;
  --max:1240px;
  --header-h:84px;
  --ease:cubic-bezier(.2,.75,.25,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Helvetica Neue","Noto Sans JP",Arial,sans-serif;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{display:block;max-width:100%}
button{color:inherit}
::selection{background:#c9cec8;color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.skip-link{position:fixed;left:16px;top:10px;z-index:1000;transform:translateY(-160%);background:var(--ink);color:#fff;padding:10px 14px;border-radius:4px;font-size:12px;font-weight:700;transition:transform .2s ease}
.skip-link:focus{transform:translateY(0)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Header */
.header{height:var(--header-h);padding:0 max(28px,5vw);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:50;background:rgba(245,244,240,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(16,21,22,.08)}
.logo{width:94px;height:52px;display:flex;align-items:center;flex:none}
.logo img{width:94px;height:auto;max-width:none;object-fit:contain}
.nav{display:flex;gap:32px;align-items:center;font-size:12px;font-weight:700;letter-spacing:.08em}
.nav>a:not(.pill){position:relative;padding:8px 0}
.nav>a:not(.pill)::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:currentColor;transition:right .28s var(--ease)}
.nav>a:not(.pill):hover::after,.nav>a:not(.pill):focus-visible::after{right:0}
.pill{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:#fff;padding:11px 19px;border:1px solid var(--ink);border-radius:999px;transition:background .25s ease,color .25s ease}
.pill:hover{background:transparent;color:var(--ink)}
.menu{display:none;width:46px;height:46px;border:0;background:transparent;border-radius:50%;padding:0;position:relative;cursor:pointer}
.menu-lines,.menu-lines::before,.menu-lines::after{position:absolute;left:12px;width:22px;height:1.5px;background:var(--ink);content:"";transition:transform .25s var(--ease),top .25s var(--ease),opacity .2s ease}
.menu-lines{top:22px}.menu-lines::before{left:0;top:-7px}.menu-lines::after{left:0;top:7px}
.header.is-open .menu-lines{background:transparent}.header.is-open .menu-lines::before{top:0;transform:rotate(45deg)}.header.is-open .menu-lines::after{top:0;transform:rotate(-45deg)}
.mobile-nav{display:none}

/* Shared typography */
.eyebrow{font-size:10px;letter-spacing:.23em;font-weight:700;margin:0 0 24px}
.fixed-copy>span,.nowrap-text{display:inline-block;white-space:nowrap}
.desktop-copy{display:inline}.mobile-copy{display:none}
.keep{white-space:nowrap}
.section{padding:100px max(28px,5vw)}
.section-inner{width:min(100%,var(--max));margin-inline:auto}
.section-top{width:min(100%,var(--max));margin:0 auto 55px;display:grid;grid-template-columns:240px 1fr;gap:40px}
.section-top h2{font-size:32px;margin:0;line-height:1.2}
.en{font-size:10px;letter-spacing:.2em;color:var(--muted);display:block;margin-top:8px}
.intro{max-width:660px;margin:0}

/* Hero — fixed visual canvas, responsive layout around it */
.hero{min-height:720px;display:grid;grid-template-columns:minmax(460px,1fr) 700px;border-bottom:1px solid var(--line);overflow:hidden}
.hero-copy{padding:clamp(86px,9vw,140px) max(32px,5vw) 72px;position:relative;overflow:hidden}
.hero-copy::after{content:"";position:absolute;width:420px;height:420px;border:1px solid #dcdcd6;border-radius:50%;left:-210px;bottom:-210px;pointer-events:none}
.hero h1{font-size:clamp(72px,8vw,126px);line-height:.83;letter-spacing:-.065em;margin:0 0 34px}
.hero .lead{font-size:clamp(17px,1.45vw,22px);font-weight:600}
.outline-btn{display:inline-flex;gap:18px;align-items:center;border:1px solid var(--ink);border-radius:999px;padding:10px 18px;margin-top:22px;font-size:12px;font-weight:700;transition:background .25s ease,color .25s ease,transform .25s var(--ease)}
.outline-btn:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
.hero-photo{width:700px;height:720px;justify-self:end;position:relative;overflow:hidden;background:#d6d6d1;flex:none}
.hero-photo::before{content:"";position:absolute;inset:0;background:url("assets/hero-v6.jpg") center center/700px 720px no-repeat}

/* Approach */
.approach{height:520px;min-height:520px;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden;background:#242a29}
.approach::before{content:"";position:absolute;left:50%;top:0;width:1920px;height:520px;transform:translateX(-50%);background:url("assets/approach.jpg") center center/1920px 520px no-repeat}
.approach::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,15,15,.84),rgba(9,15,15,.18))}
.approach-inner{position:relative;z-index:1;padding:80px max(32px,7vw);max-width:820px}
.approach h2{font-size:clamp(42px,5vw,74px);font-weight:500;margin:10px 0 22px;letter-spacing:.04em}
.approach-copy{font-size:15px;line-height:2.05;margin:0}
.approach-link{display:inline-flex;align-items:center;gap:22px;margin-top:24px;border:1px solid rgba(255,255,255,.72);border-radius:999px;padding:11px 20px;font-size:12px;transition:background .25s ease,color .25s ease}
.approach-link:hover{background:#fff;color:var(--ink)}

/* Why */
.why{display:grid;grid-template-columns:700px minmax(460px,1fr);min-height:500px;overflow:hidden}
.why-photo{width:700px;height:500px;position:relative;overflow:hidden;background:#d8d8d4}
.why-photo::before{content:"";position:absolute;inset:0;background:url("assets/mountain.jpg") center center/700px 500px no-repeat}
.why-copy{padding:86px max(32px,7vw);background:var(--paper-2)}
.why h2{font-size:44px;line-height:1.35;font-weight:500;margin:12px 0 25px}
.why-copy>p{font-size:15px;margin:0}
.points{margin-top:36px;border-top:1px solid var(--line)}
.points div{display:grid;grid-template-columns:45px 1fr;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}
.points b{font-size:10px;letter-spacing:.1em}

/* Services */
.cards{width:min(100%,var(--max));margin-inline:auto;display:grid;grid-template-columns:repeat(4,280px);justify-content:center;gap:14px}
.card{width:280px;transition:transform .28s var(--ease),box-shadow .28s ease}
.card-photo{width:280px;height:250px;position:relative;overflow:hidden;background:#222}
.card-photo img{display:block;width:280px;height:250px;max-width:none;object-fit:cover;object-position:center;filter:saturate(.25) contrast(1.05);transition:transform .45s var(--ease)}
.card-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 25%,rgba(10,15,15,.76));pointer-events:none}
.card-title{position:absolute;z-index:2;left:18px;bottom:18px;color:#fff}
.card-title small{display:block;font-size:10px;margin-bottom:8px}
.card-title h3{font-size:20px;line-height:1.35;margin:0}
.card p{font-size:12px;margin:14px 10px 0;color:#515756}
@media(hover:hover) and (pointer:fine){.card:hover{transform:translateY(-9px);box-shadow:0 18px 38px rgba(15,20,18,.10)}.card:hover .card-photo img{transform:scale(1.025)}}

/* Pricing */
.pricing{background:#f7f6f2}
.price-note{font-size:12px;margin-top:15px;color:var(--muted)}
.price-grid{width:min(100%,var(--max));margin-inline:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.price-card{background:#fff;padding:34px;border:1px solid #e2e2dc;transition:transform .28s var(--ease),box-shadow .28s ease,border-color .28s ease}
.price-no{font-size:10px;letter-spacing:.15em;color:#777}
.price-card h3{font-size:24px;margin:12px 0 24px;line-height:1.4}
.price-card dl{margin:0}
.price-card dl>div{display:grid;grid-template-columns:minmax(max-content,1fr) max-content;gap:25px;border-top:1px solid var(--line);padding:15px 0}
.price-card dt{font-size:13px}.price-card dd{font-size:14px;font-weight:700;margin:0;text-align:right;white-space:nowrap}
.price-card dd small{display:block;font-size:10px;font-weight:400;color:#777;margin-top:3px}
@media(hover:hover) and (pointer:fine){.price-card:hover{transform:translateY(-9px);box-shadow:0 18px 38px rgba(15,20,18,.10);border-color:#b9bbb5}}

/* Flow */
.flow{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.055),transparent 28%),radial-gradient(circle at 14% 80%,rgba(255,255,255,.035),transparent 30%),#171b1a;color:#f7f6f2}
.flow::after{content:"";position:absolute;right:-5%;bottom:-38%;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.07);box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.012);pointer-events:none}
.flow-heading{width:min(100%,var(--max));margin:0 auto 58px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;position:relative;z-index:1}
.flow-heading h2{font-size:42px;margin:0;line-height:1.15}.flow-heading>p{margin:0;padding-left:34px;border-left:1px solid rgba(255,255,255,.18);font-size:14px;color:#c1c6c3}
.flow-timeline{width:min(100%,var(--max));margin-inline:auto;display:grid;grid-template-columns:repeat(13,auto);align-items:center;justify-content:space-between;position:relative;z-index:1}
.flow-item{width:142px;min-height:220px;text-align:center;position:relative}
.flow-num{font-size:10px;letter-spacing:.13em;color:#838b87}
.flow-icon{width:62px;height:62px;margin:12px auto 17px;border:1px solid rgba(255,255,255,.24);border-radius:50%;display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.025)}
.flow-item h3{font-size:13px;line-height:1.45;margin:0 0 10px;white-space:nowrap}.flow-item p{font-size:11px;line-height:1.8;color:#aeb4b0;margin:0}
.flow-arrow{font-size:28px;color:#626a66;transform:translateY(-40px)}

/* Company */
.company{display:grid;grid-template-columns:minmax(460px,1fr) 700px;background:#f7f6f2;overflow:hidden}
.company-copy{padding:86px max(32px,7vw)}
.company-copy h2{font-size:38px;margin:0 0 30px;line-height:1.2}
.company dl{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line);padding:13px 0;margin:0;font-size:13px}
.company dl:last-of-type{border-bottom:1px solid var(--line)}
.company dt{font-weight:700}.company dd{margin:0}
.company a[href^="tel:"]{text-decoration-thickness:1px;text-underline-offset:4px}
.company-photo{width:700px;height:560px;position:relative;overflow:hidden;background:#d6d7d2;justify-self:end}
.company-photo::before{content:"";position:absolute;inset:0;background:url("assets/company.jpg") center center/700px 560px no-repeat}

/* Contact page / forms */
.contact-page{background:var(--paper)}
.contact-page-title{padding:105px max(28px,5vw) 58px;border-bottom:1px solid var(--line)}
.contact-page-title>*{max-width:var(--max);margin-left:auto;margin-right:auto}
.contact-page-title h1{font-size:clamp(54px,7vw,104px);line-height:.95;letter-spacing:-.055em;margin-top:0;margin-bottom:32px}
.contact-page-title>p:last-child{font-size:14px;margin-bottom:0}
.contact-form-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;padding:90px max(28px,5vw) 110px;background:var(--sage)}
.contact-form-section>*{min-width:0}.contact-page-side{align-self:start}
.contact-form-head h2{font-size:clamp(52px,7vw,105px);line-height:.86;letter-spacing:-.06em;margin:10px 0 38px}.contact-form-head>p:last-child{font-size:14px}
.contact-form{background:#f7f6f2;padding:42px;box-shadow:0 22px 55px rgba(16,21,22,.06)}
.form-row{display:grid;grid-template-columns:190px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;align-items:start}
.field-label{display:block;padding-top:10px}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid transparent;background:#fff;padding:13px 14px;color:var(--ink);outline:none;border-radius:0;transition:border-color .2s ease,box-shadow .2s ease}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:#7f8783;box-shadow:0 0 0 3px rgba(16,21,22,.08)}
.contact-form textarea{resize:vertical;min-height:170px}.badge-required,.badge-optional{display:inline-block;font-size:9px;font-style:normal;margin-left:8px;padding:3px 6px;background:#222;color:#fff;vertical-align:1px}.badge-optional{background:#dedfd9;color:#555}
.agree{display:flex;align-items:flex-start;gap:10px;margin:25px 0;font-size:12px}.agree input{width:auto;margin-top:5px}.agree a{text-decoration:underline;text-underline-offset:3px}
.contact-form button[type="submit"]{width:100%;border:1px solid var(--ink);background:var(--ink);color:#fff;padding:18px 22px;display:flex;justify-content:space-between;font-weight:700;letter-spacing:.08em;cursor:pointer;transition:background .25s ease,color .25s ease}
.contact-form button[type="submit"]:hover{background:transparent;color:var(--ink)}.contact-form button[type="submit"]:disabled{opacity:.55;cursor:not-allowed}
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-note{font-size:11px;color:var(--muted);margin:16px 0 0}
.form-result{min-height:calc(100vh - var(--header-h) - 170px);display:grid;place-items:center;text-align:center;padding:90px 24px}.form-result-inner{max-width:700px}.form-result h1{font-size:clamp(38px,5vw,64px);line-height:1.15;margin:10px 0 24px}.form-result p{font-size:14px}.form-result a{display:inline-flex;margin-top:25px;border:1px solid var(--ink);border-radius:999px;padding:10px 18px;font-size:12px;font-weight:700}

/* Footer / legal */
.footer{padding:36px max(28px,5vw);background:#fff}.footer-main{width:min(100%,var(--max));margin:auto;display:flex;justify-content:space-between;align-items:center;padding-bottom:28px}.footer-logo{width:88px;height:auto;max-width:none}.footer-links{display:flex;gap:28px;font-size:11px;font-weight:700}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{width:min(100%,var(--max));margin:auto;border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:#6d7271}
.legal{max-width:920px;margin:auto;padding:90px max(24px,5vw) 120px}.legal h1{font-size:clamp(42px,6vw,78px);letter-spacing:-.04em;line-height:1.05;margin:0 0 10px}.legal .updated{color:var(--muted);font-size:12px;margin-bottom:55px}.legal h2{font-size:20px;margin:42px 0 12px}.legal p,.legal li{font-size:14px}.legal ol{padding-left:1.5em}.back{display:inline-block;margin-top:50px;border-bottom:1px solid}

/* Tablet: change layout, never fluid-scale the image artwork itself */
@media(max-width:1179px){
  .hero{grid-template-columns:1fr;min-height:0}.hero-copy{min-height:570px}.hero-photo{width:100%;height:560px;justify-self:stretch}.hero-photo::before{width:700px;height:560px;left:50%;right:auto;transform:translateX(-50%);background-size:700px 560px}
  .why{grid-template-columns:1fr}.why-photo{width:100%;height:500px}.why-photo::before{width:700px;height:500px;left:50%;right:auto;transform:translateX(-50%);background-size:700px 500px}.why-copy{padding-top:72px;padding-bottom:72px}
  .company{grid-template-columns:1fr}.company-photo{width:100%;height:500px;justify-self:stretch}.company-photo::before{width:700px;height:500px;left:50%;right:auto;transform:translateX(-50%);background-size:700px 500px}
  .cards{grid-template-columns:repeat(2,280px);gap:28px 18px}
  .flow-timeline{grid-template-columns:repeat(4,1fr);gap:38px 22px;justify-content:stretch}.flow-arrow{display:none}.flow-item{width:auto;min-height:210px}
}


@media(max-width:1050px) and (min-width:901px){
  .price-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  :root{--header-h:72px}
  .header{height:var(--header-h);padding:0 20px}.nav{display:none}.menu{display:block}.mobile-nav{display:block;position:fixed;top:var(--header-h);left:0;right:0;z-index:45;background:rgba(245,244,240,.985);border-bottom:1px solid var(--line);padding:22px 24px 28px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-12px);transition:opacity .22s ease,transform .22s var(--ease),visibility .22s ease}.header.is-open+.mobile-nav{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .mobile-nav-inner{display:grid;gap:4px}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:16px 2px;border-bottom:1px solid var(--line);font-size:14px;font-weight:700}.mobile-nav a:last-child{border-bottom:0;margin-top:10px;background:var(--ink);color:#fff;padding:14px 16px;border-radius:999px}
  .section{padding:78px 24px}.section-top{grid-template-columns:1fr;gap:22px;margin-bottom:42px}.section-top h2{font-size:30px}
  .desktop-copy{display:none!important}.mobile-copy{display:inline!important}.mobile-copy>span{white-space:nowrap!important}
  .hero-copy{min-height:auto;padding:80px 24px 68px}.hero h1{font-size:clamp(64px,17vw,92px)}.hero .lead{font-size:17px}.hero-photo{height:520px}.hero-photo::before{width:700px;height:520px;background-size:700px 520px}
  .approach{height:520px}.approach::before{width:1920px;height:520px;background-size:1920px 520px}.approach-inner{padding:64px 24px}.approach-copy{font-size:13px;line-height:2}.approach h2{font-size:42px}
  .why-photo{height:360px}.why-photo::before{width:700px;height:360px;background-size:700px 360px}.why-copy{padding:68px 24px}.why h2{font-size:38px}.why-copy>p{font-size:13px}
  .price-grid{grid-template-columns:1fr}.price-card{padding:28px}.price-card dl>div{grid-template-columns:1fr;gap:6px}.price-card dd{text-align:left}.price-card .nowrap-text{white-space:nowrap}
  .flow-heading{grid-template-columns:1fr;gap:20px;margin-bottom:42px}.flow-heading>p{padding-left:0;border-left:0}.flow-timeline{grid-template-columns:1fr 1fr;gap:38px 18px}.flow-item h3{white-space:normal}
  .company-copy{padding:68px 24px}.company-photo{height:350px}.company-photo::before{width:700px;height:350px;background-size:700px 350px}
  .contact-page-title{padding:70px 24px 45px}.contact-form-section{grid-template-columns:1fr;gap:50px;padding:68px 24px 80px}.contact-form{padding:28px}.form-row{grid-template-columns:1fr;gap:8px}.field-label{padding-top:0}
  .footer-main,.footer-bottom{align-items:flex-start;flex-direction:column;gap:22px}.footer-links{flex-wrap:wrap;gap:14px 22px}
}

@media(max-width:640px){
  .cards{grid-template-columns:1fr;justify-items:center;gap:30px}.card{width:min(100%,360px)}.card-photo{width:100%;height:300px}.card-photo img{position:absolute;left:50%;top:50%;width:560px;height:500px;transform:translate(-50%,-50%);object-fit:cover;max-width:none}.card p{margin-left:0;margin-right:0}
  .flow-timeline{grid-template-columns:1fr}.flow-item{min-height:0;padding:18px 0 26px;border-bottom:1px solid rgba(255,255,255,.1)}
  .company dl{grid-template-columns:96px 1fr}.company dd .nowrap-text{white-space:normal}.company dt .nowrap-text{white-space:nowrap}
  .contact-page-title h1{font-size:46px}.contact-form{padding:22px}
}

@media(max-width:390px){.mobile-copy>span{font-size:.94em}.price-card .nowrap-text{white-space:normal}.hero h1{font-size:18vw}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* ===== V13: FLOW motion restored ===== */
@keyframes arkFlowFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}
@keyframes arkFlowPulse {
  0%,100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(28,31,30,.08); }
  50% { transform: scale(1.045); box-shadow: 0 10px 26px 0 rgba(28,31,30,.12); }
}
@keyframes arkFlowArrow {
  0%,100% { transform: translateX(0); opacity:.45; }
  50% { transform: translateX(7px); opacity:1; }
}

/* Support both the current V12 class names and prior flow naming */
.flow-step,
.flow-item,
.step {
  transition: transform .32s ease, box-shadow .32s ease, background-color .32s ease;
}
.flow-step:hover,
.flow-item:hover,
.step:hover {
  transform: translateY(-8px);
}
.flow-step .flow-number,
.flow-item .flow-number,
.step .step-number,
.flow-step .number,
.flow-item .number {
  animation: arkFlowPulse 3.4s ease-in-out infinite;
}
.flow-step:nth-child(2) .flow-number,
.flow-item:nth-child(2) .flow-number,
.step:nth-child(2) .step-number { animation-delay:.18s; }
.flow-step:nth-child(3) .flow-number,
.flow-item:nth-child(3) .flow-number,
.step:nth-child(3) .step-number { animation-delay:.36s; }
.flow-step:nth-child(4) .flow-number,
.flow-item:nth-child(4) .flow-number,
.step:nth-child(4) .step-number { animation-delay:.54s; }
.flow-step:nth-child(5) .flow-number,
.flow-item:nth-child(5) .flow-number,
.step:nth-child(5) .step-number { animation-delay:.72s; }
.flow-step:nth-child(6) .flow-number,
.flow-item:nth-child(6) .flow-number,
.step:nth-child(6) .step-number { animation-delay:.90s; }
.flow-step:nth-child(7) .flow-number,
.flow-item:nth-child(7) .flow-number,
.step:nth-child(7) .step-number { animation-delay:1.08s; }

.flow-arrow,
.step-arrow,
.flow-list > *::after {
  animation: arkFlowArrow 2.1s ease-in-out infinite;
}

/* Current markup uses .flow-icon */
.flow-icon {
  animation: arkFlowPulse 3.4s ease-in-out infinite;
  transform-origin:center;
}
.flow-card:nth-child(2) .flow-icon { animation-delay:.18s; }
.flow-card:nth-child(3) .flow-icon { animation-delay:.36s; }
.flow-card:nth-child(4) .flow-icon { animation-delay:.54s; }
.flow-card:nth-child(5) .flow-icon { animation-delay:.72s; }
.flow-card:nth-child(6) .flow-icon { animation-delay:.90s; }
.flow-card:nth-child(7) .flow-icon { animation-delay:1.08s; }
.flow-card {
  transition: transform .32s ease, box-shadow .32s ease;
}
.flow-card:hover { transform:translateY(-8px); }

@media (max-width:820px) {
  @keyframes arkFlowArrowMobile {
    0%,100% { transform:translateY(0); opacity:.45; }
    50% { transform:translateY(6px); opacity:1; }
  }
  .flow-arrow,.step-arrow { animation-name:arkFlowArrowMobile; }
}

/* Respect OS accessibility preference */
@media (prefers-reduced-motion: reduce) {
  .flow-step .flow-number,.flow-item .flow-number,.step .step-number,
  .flow-step .number,.flow-item .number,.flow-icon,
  .flow-arrow,.step-arrow,.flow-list > *::after { animation:none!important; }
}


/* ===== V14: WHY ARK equal-height visual/panel ===== */
@media (min-width: 821px) {
  .why-grid {
    align-items: stretch !important;
  }

  .why-visual,
  .why-image,
  .why-photo {
    height: auto !important;
    min-height: 100% !important;
    align-self: stretch !important;
    overflow: hidden !important;
  }

  .why-visual img,
  .why-image img,
  .why-photo img {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
  }

  .why-content,
  .why-panel,
  .why-copy {
    height: auto !important;
    min-height: 100% !important;
    align-self: stretch !important;
  }
}
