.principles{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px 34px}
.principles li{border-top:2px solid var(--accent);padding-top:16px}
.principles h3{font-size:18px;margin:0 0 8px}
.principles p{font-size:14px;line-height:1.9;margin:0}
.journey-flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--ink)}
.journey-flow li{padding:22px 18px 24px;border-right:1px solid var(--line)}
.journey-flow li:first-child{padding-left:0}
.journey-flow li:last-child{border-right:0}
.journey-flow a{color:inherit;text-decoration:none}
.journey-flow span{display:block;font-size:11px;letter-spacing:.08em;color:var(--accent)}
.journey-flow strong{display:block;font-size:19px;font-weight:550;margin:10px 0 8px}
.journey-flow p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}
.journey-flow small{display:block;margin-top:12px;font-size:11px}
.price-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:10px 0 30px}
.price-ladder article{border:1px solid var(--line);background:var(--mint);padding:20px}
.price-ladder span{font-size:11px;color:var(--muted)}
.price-ladder strong{display:block;font-size:22px;font-weight:550;margin:8px 0}
.price-ladder p{font-size:13px;line-height:1.8;margin:0}
.stage-note{font-size:12px;color:var(--muted);margin:0 0 20px}
@media(max-width:1000px){.journey-flow{grid-template-columns:repeat(3,1fr)}.journey-flow li:nth-child(3n){border-right:0}.journey-flow li:nth-child(3n+1){padding-left:0}.journey-flow li:nth-child(n+4){border-top:1px solid var(--line)}.price-ladder{grid-template-columns:repeat(2,1fr)}.principles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.journey-flow,.price-ladder,.principles{grid-template-columns:1fr}.journey-flow li{padding:18px 0;border-right:0}.journey-flow li+li{border-top:1px solid var(--line)}}

/* Motion and progressive disclosure; colours stay on the shared site palette. */
.company-page .hero-project{margin-left:28px;color:var(--muted);font-size:13px;position:relative;z-index:1}.company-page .hero-project:hover{color:var(--accent);text-decoration:underline}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.company-page .hero-top{animation:rise .5s both}.company-page .hero-link,.company-page .hero-project{animation:rise .6s .25s both}
.company-page .hero-route>*{animation:rise .6s both}.company-page .hero-route>:nth-child(1){animation-delay:.35s}.company-page .hero-route>:nth-child(2){animation-delay:.45s}.company-page .hero-route>:nth-child(3){animation-delay:.55s}.company-page .hero-route>:nth-child(4){animation-delay:.65s}.company-page .hero-route>:nth-child(5){animation-delay:.75s}.company-page .hero-route>:nth-child(6){animation-delay:.85s}
.company-page .hero-route b{animation:rise .6s both,nudge 1.8s 1.5s ease-in-out infinite}
@keyframes nudge{50%{transform:translateX(5px)}}
.company-page .hero h1 span{background:linear-gradient(95deg,#a94628,#d9855f,#a94628);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 6s ease-in-out infinite}
@keyframes shine{50%{background-position:100% 0}}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease;transition-delay:calc(var(--i,0)*90ms)}.reveal.in{opacity:1;transform:none}
.company-page .principles li,.company-page .price-ladder article,.company-page .journey-flow li{transition:opacity .65s ease,transform .65s ease,box-shadow .25s,border-color .25s;transition-delay:calc(var(--i,0)*90ms),calc(var(--i,0)*90ms),0s,0s}
.company-page .principles li{background:#fff;border:1px solid var(--line);border-top:2px solid var(--accent);padding:18px 20px}
.company-page .price-ladder article:hover,.company-page .principles li:hover,.company-page .journey-flow li:hover{box-shadow:0 12px 30px -14px rgba(37,53,46,.35);border-color:#b9c7b3}
.company-page .journey-flow{gap:0;border-top:0;position:relative}
.company-page .journey-flow:before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 1.4s ease .2s}
.company-page .journey-flow.in:before{transform:scaleX(1)}
.company-page .journey-flow li{background:transparent;border-top:1px solid var(--line)}
.company-page .journey-flow li:hover strong{color:var(--accent)}
.company-page .price-ladder article{transition-property:opacity,transform,box-shadow,border-color}
.company-page .price-ladder article:hover{transform:translateY(-4px)}
.company-page .sequence li>span{transition:color .6s .2s}.company-page .sequence li:not(.in)>span{color:#a6b49c}.company-page .sequence li.in>span{color:var(--accent)}
.company-page .sequence li{position:relative}.company-page .sequence li:before{content:'';position:absolute;left:0;top:-1px;height:2px;width:0;background:var(--accent);transition:width .9s ease .1s}.company-page .sequence li.in:before{width:60px}
/* Progressive disclosure: heading stays visible, details open on demand. */
.dc-head{cursor:pointer;display:flex;align-items:baseline;gap:12px;justify-content:space-between}
.dc-head:after{content:'＋';color:var(--accent);font-size:17px;flex:none;transition:transform .3s}
.dc-open>.dc-head:after{content:'－';transform:rotate(180deg)}
.dc-head:hover{color:var(--accent)}
.dc-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s ease,opacity .4s ease}
.dc-body>div{overflow:hidden;min-height:0}
.dc-open>.dc-body{grid-template-rows:1fr;opacity:1}
.company-page .principles .dc-body>div{padding-top:8px}.company-page .principles{align-items:start}.company-page .section-heading .dc-toggle{margin-left:0}
.company-page .evidence-rows article{grid-template-columns:220px 1fr;align-items:start}
.company-page .evidence-rows article.dc-item>.dc-head{padding-right:10px}
.dc-toggle{margin-top:18px;background:none;border:1px solid var(--accent);color:var(--accent);font:inherit;font-size:12px;padding:7px 16px;cursor:pointer;transition:background .2s,color .2s}
.dc-toggle:hover{background:var(--accent);color:#fff}
.dc-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:1000px){.company-page .journey-flow li{border-right:1px solid var(--line)}}
@media(max-width:600px){.company-page .hero-project{display:block;margin:0 0 20px}.company-page .evidence-rows article{grid-template-columns:1fr}}
@media print{.reveal{opacity:1;transform:none}.dc-body{grid-template-rows:1fr;opacity:1}.dc-toggle{display:none}}
@media(prefers-reduced-motion:reduce){.company-page .hero h1 span,.company-page .hero-route b{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.dc-body{transition:none}.company-page .journey-flow:before{transform:none;transition:none}.company-page .sequence li:before{width:60px;transition:none}}

/* Extra motion: kinetic title, ticker, spotlight and tilt cards, scroll-linked journey. */
.company-page .hero{--px:0px;--py:0px}
.company-page .hero:after{transform:translate(var(--px),var(--py));transition:transform .5s ease-out}
.company-page .hero:before{content:'';position:absolute;left:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;border:1px solid rgba(169,70,40,.25);box-shadow:0 0 0 46px rgba(169,70,40,.05),0 0 0 92px rgba(169,70,40,.035);transform:translate(calc(var(--px)*-1.4),calc(var(--py)*-1.4));transition:transform .6s ease-out;pointer-events:none}
.ch{display:inline-block;opacity:0;transform:translateY(.45em) rotate(3deg);filter:blur(8px);animation:ch-in .75s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--c)*55ms + .15s)}
@keyframes ch-in{to{opacity:1;transform:none;filter:none}}
.company-page .hero h1{animation:none}
.company-page .hero-route{position:relative}
.company-page .hero-route:before{content:'';position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:30% 100%;background-repeat:no-repeat;animation:sweep 3.6s linear infinite}
@keyframes sweep{from{background-position:-40% 0}to{background-position:140% 0}}
.company-page .hero-link{transition:transform .2s ease-out,background .2s}
.ticker{overflow:hidden;background:var(--dark);color:#dfe8dc;border-block:1px solid #3a4f44;padding:13px 0;position:relative;z-index:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ticker-track{display:flex;width:max-content;gap:28px;animation:ticker 38s linear infinite;font-size:14px;letter-spacing:.18em;white-space:nowrap}
.ticker i{color:#e3b38d;font-style:normal;font-size:10px;align-self:center}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes ticker{to{transform:translateX(-50%)}}
.fx-card{position:relative;transform-style:preserve-3d;will-change:transform}
.fx-card:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .25s;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(169,70,40,.13),transparent 62%)}
.fx-card:hover:before{opacity:1}
.fx-tilt{transition:transform .15s ease-out,box-shadow .25s,border-color .25s,opacity .65s}
.count{font-variant-numeric:tabular-nums}
.company-page .journey-flow:before{transform:scaleX(var(--p,0));transition:transform .15s linear}
.company-page .journey-flow.in:before{transform:scaleX(var(--p,0))}
.company-page .journey-flow li:before{content:'';position:absolute;left:0;top:-5px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:2px solid #b9c7b3;transition:background .4s,border-color .4s,box-shadow .4s,transform .4s}
.company-page .journey-flow li.lit:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 6px rgba(169,70,40,.16);transform:scale(1.25)}
.company-page .journey-flow li.lit strong{color:var(--accent)}
.company-page .journey-flow li{position:relative}
.sec-no{position:absolute;right:0;top:-18px;font-family:var(--serif,serif);font-size:clamp(90px,14vw,190px);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(37,53,46,.14);pointer-events:none;user-select:none;transform:translateY(var(--sy,0px));z-index:0}
.company-page .section{position:relative;overflow:hidden}
.company-page .section>*{position:relative;z-index:1}
.company-page .sequence li.in>span{animation:pop .6s both}
@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.15)}100%{transform:none;opacity:1}}
@media(max-width:600px){.sec-no{font-size:80px;top:-6px}.ticker-track{font-size:12px}}
@media(prefers-reduced-motion:reduce){.ch{animation:none;opacity:1;transform:none;filter:none}.ticker-track,.company-page .hero-route:before{animation:none}.fx-card:before{display:none}.company-page .hero:after,.company-page .hero:before{transition:none}}
@media print{.ticker,.sec-no{display:none}}

/* Film band */
.film{padding:70px max(6%,calc((100vw - 1200px)/2)) 20px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,2.2fr);gap:40px;align-items:center}
.film-head h2{font-size:clamp(28px,3vw,40px);line-height:1.4;margin:12px 0 0}
.film-frame{margin:0;position:relative}.film-frame video{display:block;width:100%;aspect-ratio:16/9;background:var(--dark);border:1px solid var(--line);box-shadow:0 24px 50px -28px rgba(37,53,46,.55)}
.film-frame figcaption{font-size:12px;color:var(--muted);margin-top:10px}
@media(max-width:900px){.film{grid-template-columns:1fr;gap:22px;padding-top:44px}}
@media print{.film{display:none}}
.film-play{position:absolute;left:50%;top:80%;transform:translate(-50%,-50%);z-index:2;display:flex;align-items:center;gap:14px;padding:16px 30px;border:0;border-radius:40px;background:var(--accent);color:#fff;font:inherit;font-size:16px;letter-spacing:.06em;cursor:pointer;box-shadow:0 14px 34px -10px rgba(0,0,0,.5);transition:transform .2s,background .2s,opacity .3s}
.film-play span{font-size:18px}.film-play:hover{transform:translate(-50%,-50%) scale(1.05);background:#8f3c20}.film-play:focus-visible{outline:3px solid #fff;outline-offset:3px}.film-play.hidden{opacity:0;pointer-events:none}
@media print{.film-play{display:none}}
