/* TOTAL MISSION — a living editorial cover */
:root{--paper:#ffffff;--ink:#002664;--muted:#52647a;--accent:#00999a;--line:#d5dce8;--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(20px,3.75vw,72px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:28px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-size:14px;font-weight:400;line-height:1.9;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;z-index:50;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
::selection{background:var(--accent);color:var(--paper)}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
button{font:inherit;color:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
a:hover{text-decoration:none}
p,h1,h2,h3,h4,figure,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
img{display:block;width:100%;height:auto}
button,summary{-webkit-tap-highlight-color:transparent}
.page-width{width:calc(100% - var(--gutter)*2);max-width:1600px;margin-inline:auto}
.folio{font-family:"Barlow Condensed",Arial,sans-serif;font-weight:600;letter-spacing:.085em;font-size:13px;line-height:1.2}
.accent{color:var(--accent)}
.reading-progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:var(--accent)}
.utility{min-height:55px;display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--ink);font-size:11px;font-weight:600;line-height:1.5}
.company-name{margin-right:auto;letter-spacing:.04em}
.header-phone{font-family:"Barlow Condensed",sans-serif;letter-spacing:.035em;font-size:17px;display:flex;align-items:center;gap:13px}
.header-phone small{font-family:"Noto Sans JP",sans-serif;letter-spacing:0;font-size:10px;font-weight:400}
.utility-cta{display:flex;gap:26px;align-items:center}
.utility-cta span{color:var(--accent);font-size:20px;line-height:1}
.menu-button{display:none}
.masthead{height:clamp(102px,14.3vw,240px);overflow:hidden;display:flex;align-items:center;justify-content:center;white-space:nowrap;border-bottom:5px solid var(--ink);font-family:"Barlow Condensed",Impact,sans-serif;font-weight:800;line-height:.8;letter-spacing:-.035em;font-size:clamp(85px,15.2vw,252px)}
.masthead>span{display:block;transform:scaleX(1.09);transform-origin:center}
.masthead-period{color:var(--accent)}
.main-menu{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);min-height:49px;font-size:11px;font-weight:600}
.main-menu ul{display:flex;gap:clamp(18px,3vw,60px)}
.main-menu a{position:relative}
.main-menu a::after{content:"";position:absolute;left:0;bottom:-6px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.main-menu a:hover::after{transform:scaleX(1)}
.menu-consult{display:none}
.cover-meta{display:flex;align-items:center;justify-content:space-between;padding:23px 0 17px;font-weight:600;font-size:12px;letter-spacing:.035em}
.cover-meta .folio{color:var(--muted)}
.cover-layout{display:grid;grid-template-columns:minmax(0,1fr) 25%;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.cover-story{padding:35px 30px 33px 0;min-width:0}
.cover-title{font-weight:900;line-height:1.15;letter-spacing:-.08em;cursor:default}
.headline-line{display:flex;width:100%;overflow:hidden;align-items:baseline;padding-bottom:.08em;padding-top:.025em;margin-top:-.025em}
.first-line{font-size:clamp(90px,17.2vw,284px)}
.second-line{font-size:clamp(55px,8.65vw,145px);margin-top:-.03em;white-space:nowrap}
.letter{display:inline-block;transform-origin:50% 90%;will-change:transform}
.punctuation{margin-right:-.4em}
.comma{margin-left:-.07em;margin-right:-.24em}
.ai-type{position:relative;isolation:isolate;font-family:"Barlow Condensed",Impact,sans-serif;font-style:normal;font-weight:800;letter-spacing:-.035em;font-size:1.45em;line-height:.75;color:var(--paper);padding:.065em .14em .065em .105em;margin:0 .075em 0 .055em}
.ai-type::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--accent);clip-path:polygon(0 0,100% 0,100% 83%,89% 100%,0 100%);transform:skewX(-6deg);transform-origin:center;transition:transform .55s var(--ease)}
.ai-ink{position:relative;display:block}
.cover-bottom{display:grid;grid-template-columns:25% minmax(0,1fr);gap:22px;margin-top:32px;align-items:start}
.cover-mark{font-family:Arial,sans-serif;font-size:126px;line-height:1;color:var(--accent);display:block;width:max-content;transform:rotate(-15deg)}
.cover-copy{max-width:550px;padding-top:2px}
.cover-lead{font-size:clamp(16px,1.7vw,27px);line-height:1.75;font-weight:600;letter-spacing:-.03em}
.cover-description{font-size:11px;margin-top:13px;color:var(--muted)}
.text-link{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid currentColor;padding:13px 0;font-size:12px;font-weight:600;line-height:1.7;position:relative;overflow:hidden}
.text-link>span:first-child{transition:transform .4s var(--ease)}
.text-link:hover>span:first-child{transform:translateX(6px)}
.link-arrow{font-family:Arial,sans-serif;font-size:24px;font-weight:400;line-height:1;transition:transform .4s var(--ease)}
.text-link:hover .link-arrow{transform:translate(3px,-3px)}
.cover-cta{margin-top:14px;max-width:355px;color:var(--accent)}
.cover-sidebar{border-left:1px solid var(--ink);padding:24px 0 22px 25px;display:flex;flex-direction:column;min-width:0}
.sidebar-top{display:flex;align-items:center;justify-content:space-between;color:var(--accent)}
.sidebar-intro{font-size:12px;font-weight:600;line-height:1.9;letter-spacing:-.02em;margin:25px 0 24px}
.contents a{display:grid;grid-template-columns:50px 1fr 20px;gap:8px;align-items:center;border-top:1px solid var(--line);padding:18px 0;font-size:15px;font-weight:600;line-height:1.65;transition:color .3s}
.contents a:last-child{border-bottom:1px solid var(--line)}
.contents-number{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:36px;color:var(--accent);line-height:1;transition:transform .45s var(--ease)}
.contents-arrow{align-self:start;font-family:Arial,sans-serif;font-weight:400;font-size:20px}
.contents a:hover{color:var(--accent)}
.contents a:hover .contents-number{transform:translateY(-5px)}
.sidebar-bottom{margin-top:auto;padding-top:28px;display:flex;align-items:flex-end;justify-content:space-between}
.sidebar-direction{color:var(--accent);font-family:Arial,sans-serif;font-size:50px;line-height:1;transition:transform .4s var(--ease)}
.sidebar-bottom:hover .sidebar-direction{transform:translate(5px,5px)}
.sidebar-bottom a{font-size:10px;font-weight:600;display:flex;gap:16px;align-items:center}
.cover-caption{display:flex;justify-content:space-between;padding:12px 0;color:var(--muted);font-size:11px}
.cover-caption span:nth-child(2){margin-left:auto;margin-right:12%}
.section-space{padding-top:104px;padding-bottom:104px}
.section-label{display:flex;align-items:center;justify-content:space-between;border-top:1px solid currentColor;padding-top:12px;font-size:12px;font-weight:600;margin-bottom:45px}
.section-label .folio{color:var(--muted)}
.section-heading{display:grid;grid-template-columns:1.5fr 1fr;gap:50px;align-items:end;margin-bottom:70px}
h2{font-size:clamp(34px,4.7vw,78px);font-weight:900;letter-spacing:-.06em;line-height:1.5}
.business-heading h2{font-size:clamp(38px,5.5vw,90px);line-height:1.35}
.business-heading h2 .accent{font-family:"Barlow Condensed",sans-serif;font-size:1.5em;line-height:.8;display:inline-block;margin-right:.05em;vertical-align:-.03em}
.section-heading>p{max-width:340px;font-size:14px;line-height:2.2;margin-bottom:6px}
.service{display:grid;grid-template-columns:12% minmax(0,35%) minmax(0,1fr);gap:30px;border-top:1px solid var(--ink);padding:35px 0 48px}
.service:last-child{border-bottom:1px solid var(--ink);padding-bottom:35px}
.service-number{display:flex;flex-direction:column;justify-content:space-between;align-items:start;padding-bottom:25px}
.service-number>span:first-child{font-family:"Barlow Condensed",sans-serif;font-weight:600;font-size:90px;line-height:.85;letter-spacing:-.04em;color:var(--accent);overflow:hidden}
.service-number .folio{font-size:11px;writing-mode:vertical-rl;transform:rotate(180deg);color:var(--muted);margin:30px 0 0 4px}
.service-copy .eyebrow{font-size:11px;font-weight:600;margin-bottom:17px}
.service-copy h3{font-size:clamp(30px,3.05vw,51px);line-height:1.45;font-weight:900;letter-spacing:-.05em;margin-bottom:22px}
.service-copy>p:not(.eyebrow):not(.service-brand){max-width:360px;font-size:13px;line-height:2.15}
.service-copy .text-link{margin-top:30px;max-width:355px;font-size:11px}
.service-brand{font-family:"Barlow Condensed",sans-serif;font-size:22px;font-weight:600;color:var(--accent);line-height:1;margin-top:-13px;margin-bottom:20px}
.service-figure{align-self:center;margin:0 0 0 6px}
.image-window{overflow:hidden;position:relative;aspect-ratio:1.25;background:#d5dce8}
.image-window::after{content:"";position:absolute;inset:0;background:var(--accent);mix-blend-mode:multiply;opacity:.08;pointer-events:none}
.service-figure img{height:100%;object-fit:cover;filter:grayscale(.1) saturate(.8);transition:filter .8s,transform 1.2s var(--ease);transform:scale(1.04)}
.service:hover img,.editorial-subpage .service-figure:hover img{filter:grayscale(0) saturate(1);transform:scale(1)}
.service-figure figcaption{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;color:var(--muted)}
.approach{background:var(--ink);color:var(--paper);overflow:hidden}
.approach .section-label{border-color:#7a8aa0}
.approach .section-label .folio{color:#9aa8bb}
.approach-title{font-size:clamp(30px,4.65vw,78px);margin:10px 0 60px;letter-spacing:-.05em;line-height:1.6}
.process-track{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr;align-items:center;column-gap:25px;margin-bottom:28px}
.process-track>span:not(.track-arrow){font-family:"Barlow Condensed",sans-serif;font-size:68px;font-weight:600;line-height:1;letter-spacing:-.03em;color:#00999a}
.process-track i{height:1px;background:#7a8aa0;transform-origin:left}
.track-arrow{text-align:right;font:64px/1 Arial,sans-serif;color:#00999a}
.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}
.process li{border-top:1px solid #7a8aa0;padding-top:23px}
.process h3{font-size:20px;font-weight:600;margin-bottom:16px;letter-spacing:-.04em}
.process p{font-size:13px;line-height:2.1;max-width:290px;color:#d5dce8}
.approach-link{max-width:290px;margin-top:50px;margin-left:auto}
.company-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:center}
.company-heading{display:flex;flex-direction:column;align-items:flex-start}
.company-mark{font:110px/1 Arial,sans-serif;color:var(--accent);display:inline-block;margin-bottom:28px}
.company-heading h2{font-size:clamp(30px,3.3vw,54px)}
.company-copy{padding-top:20px}
.company-copy p{font-size:15px;line-height:2.4;max-width:430px}
.company-copy p+p{margin-top:25px}
.company-links{display:flex;gap:30px;margin-top:28px}
.company-links .text-link{flex:1}
.contact{--contact-shadow:#001a47;background:var(--accent);color:var(--paper)}
.contact .section-label .folio{color:var(--paper)}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:70px}
.contact h2{font-size:clamp(30px,4.2vw,70px);line-height:1.6}
.contact-fee{margin-top:42px;font-size:12px;line-height:2.25;max-width:410px}
.contact-fee strong{font-size:16px;font-weight:600;display:inline-block;margin-bottom:7px}
.contact-main{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:176px;padding:26px 24px;border:2px solid var(--ink);gap:20px;background:var(--paper);color:var(--ink);box-shadow:6px 6px 0 var(--contact-shadow);touch-action:manipulation;transition:transform .22s var(--ease),box-shadow .22s var(--ease),background-color .22s}
.contact-main>span:first-child{min-width:0;font-size:clamp(26px,3.25vw,52px);font-weight:900;letter-spacing:-.04em;line-height:1.4;transition:transform .25s var(--ease)}
.contact-main::after{content:"";position:absolute;inset:0}
/* Keep the original hit area covered while the surface moves into its shadow. */
.contact .contact-main:hover::after,.contact .contact-main:focus-visible::after,.contact .contact-main:active::after{inset:-7px 0 0 -7px}
.contact-arrow{display:grid;place-items:center;flex-shrink:0;width:1.2em;height:1.2em;background:var(--ink);color:var(--paper);font:clamp(42px,4.8vw,70px)/1 Arial,sans-serif;transition:transform .25s var(--ease),background-color .22s}
.contact .contact-main:hover{transform:translate(6px,6px);box-shadow:0 0 0 transparent}
.contact .contact-main:focus-visible{outline:3px solid var(--paper);outline-offset:7px;transform:translate(6px,6px);box-shadow:0 0 0 transparent}
.contact .contact-main:hover .contact-arrow,.contact .contact-main:focus-visible .contact-arrow{transform:none;background:var(--accent)}
.contact .contact-main:hover>span:first-child{transform:none}
.contact .contact-main:active{transform:translate(7px,7px);box-shadow:inset 0 2px 0 rgba(0,38,100,.22);background:#e6eaf0}
.contact .contact-main:active .contact-arrow,.contact .contact-main:active>span:first-child{transform:none}
.contact-note{font-size:11px;margin-top:20px;max-width:360px;line-height:2}
.contact-phone{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:"Barlow Condensed",sans-serif;font-size:32px;font-weight:600;margin-top:23px;line-height:1.5}
.contact-phone small{font-family:"Noto Sans JP",sans-serif;font-size:10px;font-weight:400;white-space:nowrap}
.contact-actions .text-link{font-size:11px;margin-top:8px}
.contact a:focus-visible{outline-color:var(--paper)}
.site-footer{padding:64px 0 20px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;padding-bottom:50px}
.footer-wordmark{font-family:"Barlow Condensed",sans-serif;font-size:41px;font-weight:800;letter-spacing:-.03em;line-height:1}
.footer-wordmark span{color:var(--accent)}
.footer-statement{font-size:17px;line-height:1.9;font-weight:600;margin-top:23px;margin-bottom:23px}
address{font-style:normal;font-size:10px;line-height:2.2;max-width:420px}
.footer-column{font-size:11px;line-height:1.9}
.footer-column h4{font-size:10px;color:var(--muted);font-weight:400;margin-bottom:13px}
.footer-column h4:not(:first-child){margin-top:28px}
.footer-column li+li{margin-top:9px}
.site-footer a:hover{color:var(--accent)}
.group-menu{margin-top:30px;border-top:1px solid var(--line);padding-top:9px}
.group-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.group-menu summary::-webkit-details-marker{display:none}
.group-menu summary span{font-size:18px;font-weight:400;color:var(--accent);transition:transform .3s}
.group-menu[open] summary span{transform:rotate(45deg)}
.group-menu nav{display:flex;flex-direction:column;gap:8px;padding:18px 0 8px;font-size:10px}
.footer-bottom{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:20px 0;display:flex;justify-content:space-between;gap:25px;align-items:center;font-size:9px}
.footer-bottom ul{display:flex;flex-wrap:wrap;gap:17px}
.footer-bottom p{white-space:nowrap}
.footer-end{display:flex;justify-content:space-between;margin-top:15px;font-size:11px;color:var(--muted)}
.anchor{display:block;position:relative}
/* Motion is progressive enhancement: every word is visible without JavaScript. */
.motion-ready .cover-title .letter{animation:cover-set 1.2s var(--ease) both;animation-delay:calc(.16s + var(--i)*.065s)}
.motion-ready .masthead>span{animation:masthead-set 1.1s var(--ease) both}
.motion-ready .cover-copy,.motion-ready .cover-mark{animation:copy-set 1.2s var(--ease) both;animation-delay:.65s}
.motion-ready .contents a{animation:copy-set .9s var(--ease) both;animation-delay:1s}
.motion-ready .contents a:nth-child(2){animation-delay:1.12s}
.motion-ready .contents a:nth-child(3){animation-delay:1.24s}
@keyframes cover-set{from{transform:translate3d(-.1em,115%,0) rotate(7deg)}to{transform:translate3d(0,0,0) rotate(0)}}
@keyframes masthead-set{from{transform:translateY(115%) scaleX(1.09)}to{transform:translateY(0) scaleX(1.09)}}
@keyframes copy-set{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
.type-line{display:block;overflow:hidden;padding:.06em 0;margin:-.06em 0}
.type-word{display:inline-block;transition:transform 1s var(--ease);transition-delay:calc(var(--word-index,0)*65ms)}
.motion-ready .typeset:not(.is-set) .type-word{transform:translate3d(-.04em,115%,0) rotate(3deg)}
.motion-ready .typeset.is-set .type-word{transform:translate3d(0,0,0) rotate(0)}
.motion-ready .service-number>span:first-child{transition:clip-path 1.2s var(--ease),transform 1.2s var(--ease);clip-path:inset(100% 0 0);transform:translateY(18px)}
.motion-ready .service.is-set .service-number>span:first-child{clip-path:inset(0);transform:translateY(0)}
.image-window{transition:clip-path 1.4s var(--ease)}
.motion-ready .service-figure:not(.is-set) .image-window{clip-path:inset(0 0 100% 0)}
.motion-ready .service-figure.is-set .image-window{clip-path:inset(0)}
.motion-ready .process-track i{transition:transform 1.4s var(--ease);transform:scaleX(0)}
.motion-ready .process-track.is-set i{transform:scaleX(1)}
.cover-title.is-live .letter{animation:none;transform:translateY(var(--letter-y,0px)) rotate(var(--letter-rotate,0deg));transition:transform .6s var(--ease)}
.cover-title.is-live .letter:hover{color:var(--accent)}
.cover-title.is-live .ai-type:hover{color:var(--paper)}
.cover-title.is-live .ai-type:hover::before{transform:skewX(0deg) scale(1.025)}

/* Revision a: a printed AI plate and two connected sheets, never a radial mark. */
.flow-mark{display:inline-block;width:1em;height:.9em;flex-shrink:0;color:var(--accent);transform:rotate(var(--mark-turn,0deg))}
.flow-symbol{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:4;stroke-linejoin:miter}
.flow-page{transform-box:fill-box;transform-origin:center;transition:transform .65s var(--ease),translate .65s var(--ease)}
.flow-page-back{transform:translate(calc(var(--sheet-drift,0px)*-.4),calc(var(--sheet-drift,0px)*.4))}
.flow-page-front{fill:var(--paper);transform:translate(var(--sheet-drift,0px),calc(var(--sheet-drift,0px)*-1))}
.flow-route{stroke-dasharray:125;stroke-dashoffset:0}
.cover-bottom:hover .flow-page-front,.company-heading:hover .flow-page-front{translate:2px -2px}
.motion-ready .flow-mark:not(.is-set) .flow-route{stroke-dashoffset:125}
.motion-ready .flow-mark.is-set .flow-route{animation:route-draw 1.1s var(--ease) .12s both}
.motion-ready .ai-type::before{animation:ai-print 1.1s var(--ease) .72s both}
.motion-ready .sidebar-direction{animation:direction-nudge 2.8s var(--ease) 1.8s 2}
.contents-arrow,.utility-cta span{display:inline-block;transition:transform .45s var(--ease)}
.contents a:hover .contents-arrow,.contents a:focus-visible .contents-arrow,.utility-cta:hover span,.utility-cta:focus-visible span{transform:translate(2px,-2px) rotate(8deg)}
.text-link:hover .link-arrow,.text-link:focus-visible .link-arrow{transform:translate(3px,-3px) rotate(-8deg)}
.motion-ready .process-track.is-set .track-arrow{animation:arrow-arrive .95s var(--ease) .35s both}
@keyframes ai-print{from{clip-path:polygon(0 0,0 0,0 100%,0 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 83%,89% 100%,0 100%)}}
@keyframes route-draw{from{stroke-dashoffset:125}to{stroke-dashoffset:0}}
@keyframes direction-nudge{0%,65%,100%{translate:0 0;rotate:0deg}35%{translate:4px 4px;rotate:-7deg}}
@keyframes arrow-arrive{from{translate:-14px 14px;rotate:-12deg;opacity:0}to{translate:0 0;rotate:0deg;opacity:1}}
@media(min-width:1700px){.first-line{font-size:284px}.second-line{font-size:144px}}
@media(max-width:1050px){
  .cover-story{padding-right:22px}.cover-sidebar{padding-left:20px}.contents a{grid-template-columns:36px 1fr 15px;gap:5px;font-size:12px}.contents-number{font-size:30px}.sidebar-intro{font-size:10px}.sidebar-top .folio{font-size:10px}.sidebar-bottom a{gap:7px;font-size:9px}.sidebar-direction{font-size:38px}.cover-bottom{gap:10px;grid-template-columns:23% 1fr}.cover-mark{font-size:100px}.cover-description{font-size:10px}.cover-cta{font-size:11px}.service{gap:22px;grid-template-columns:10% minmax(0,39%) minmax(0,1fr)}.service-number>span:first-child{font-size:70px}.service-copy .eyebrow{font-size:10px}.service-copy>p:not(.eyebrow):not(.service-brand){font-size:12px}.service-copy .text-link{font-size:10px}.image-window{aspect-ratio:1}.company-grid,.contact-grid{gap:40px}.footer-top{gap:32px}.footer-bottom{align-items:flex-start}.footer-bottom ul{gap:10px}
}
@media(max-width:760px){
  :root{--gutter:22px}.utility{min-height:53px;gap:16px}.company-name{font-size:10px}.header-phone{display:none}.utility-cta{font-size:10px;gap:9px}.utility-cta span{font-size:18px}.menu-button{display:flex;align-items:center;gap:7px;border:0;background:none;padding:9px 0 9px 8px;font-family:"Barlow Condensed",sans-serif;font-size:14px;font-weight:600;cursor:pointer}.menu-button span{font-family:Arial,sans-serif;font-size:19px;font-weight:400;color:var(--accent);transition:transform .3s}.menu-button[aria-expanded=true] span{transform:rotate(45deg)}.masthead{height:clamp(77px,16vw,121px);font-size:16vw;border-bottom-width:4px;letter-spacing:-.04em}.masthead>span{transform:scaleX(1.04)}.main-menu{display:none;min-height:0;font-size:14px}.main-menu.is-open{display:block;padding-top:10px;padding-bottom:18px}.main-menu ul{display:block}.main-menu li{border-bottom:1px solid var(--line)}.main-menu li a{display:block;padding:12px 0}.main-menu a::after{display:none}.menu-consult{display:flex;justify-content:space-between;padding:18px 0 2px;color:var(--accent)}.cover-meta{padding:16px 0 14px;font-size:10px;gap:15px}.cover-meta .folio{font-size:10px;letter-spacing:.03em}.cover-layout{grid-template-columns:1fr}.cover-story{padding:25px 0 28px}.first-line{font-size:24.6vw}.second-line{font-size:13.5vw;margin-top:2px}.cover-bottom{grid-template-columns:18% 1fr;gap:18px;margin-top:26px}.cover-mark{font-size:75px;line-height:.95}.cover-lead{font-size:17px;line-height:1.9;letter-spacing:-.04em}.cover-description{font-size:11px;line-height:1.9;margin-top:13px;max-width:340px}.cover-cta{font-size:11px;margin-top:15px}.cover-sidebar{border-left:0;border-top:1px solid var(--ink);padding:17px 0 16px;display:grid;grid-template-columns:1fr 1.7fr;gap:0 25px}.sidebar-top{grid-column:1/-1;align-self:start;margin-bottom:12px}.sidebar-top .folio{font-size:11px}.sidebar-intro{font-size:10px;margin:0;line-height:1.9}.contents{grid-row:2/4;grid-column:2}.contents a{grid-template-columns:28px 1fr 14px;padding:9px 0;font-size:11px;line-height:1.8}.contents a>span:nth-child(2) br{display:none}.contents-number{font-size:26px}.contents-arrow{font-size:16px}.sidebar-bottom{display:block;grid-column:1;padding-top:10px}.sidebar-direction{display:block;font-size:36px;margin-bottom:8px}.sidebar-bottom a{justify-content:flex-start;gap:16px;font-size:10px}.cover-caption{font-size:9px;padding-top:10px}.cover-caption span:nth-child(2){display:none}.section-space{padding-top:68px;padding-bottom:68px}.section-label{margin-bottom:30px;font-size:11px;padding-top:10px}.section-label .folio{font-size:11px}.section-heading{grid-template-columns:1fr;gap:23px;margin-bottom:36px}.business-heading h2{font-size:clamp(34px,7.5vw,55px);line-height:1.45}.section-heading>p{font-size:12px;max-width:330px;line-height:2.2}.service{grid-template-columns:45px minmax(0,1fr);gap:23px 15px;padding:27px 0 31px}.service-number{grid-column:1;grid-row:1;padding-bottom:0;justify-content:flex-start;gap:10px}.service-number>span:first-child{font-size:57px}.service-number .folio{font-size:10px;margin-top:12px;margin-left:0}.service-copy{grid-column:2;grid-row:1}.service-copy .eyebrow{font-size:10px;line-height:1.8;margin-bottom:12px}.service-copy h3{font-size:32px;line-height:1.4;margin-bottom:17px}.service-copy h3 br{display:none}.service-copy>p:not(.eyebrow):not(.service-brand){font-size:12px;line-height:2.1;max-width:100%}.service-copy .text-link{font-size:10px;margin-top:18px;padding:10px 0;gap:8px;max-width:100%}.service-figure{grid-column:2;grid-row:2;margin:0;width:100%}.image-window{aspect-ratio:1.5}.service-figure figcaption{font-size:10px}.service-brand{font-size:20px;margin-top:-6px;margin-bottom:15px}.service:last-child{padding-bottom:27px}.approach-title{font-size:clamp(22px,5.6vw,43px);margin:0 0 36px;line-height:1.8;letter-spacing:-.065em}.process-track{display:none}.process{grid-template-columns:1fr;gap:0;counter-reset:process}.process li{position:relative;padding:23px 0 24px 58px;min-height:122px;counter-increment:process}.process li::before{content:"0" counter(process);position:absolute;left:0;top:22px;font-family:"Barlow Condensed",sans-serif;font-size:44px;line-height:1;color:#00999a}.process h3{font-size:18px;margin-bottom:10px}.process p{font-size:12px;max-width:100%}.approach-link{margin-top:12px;max-width:100%;font-size:11px}.company-grid{grid-template-columns:1fr;gap:27px}.company-heading{flex-direction:row;gap:20px;align-items:center}.company-mark{font-size:72px;margin:0}.company-heading h2{font-size:clamp(24px,5.8vw,42px);line-height:1.6;letter-spacing:-.05em}.company-copy{padding-top:0}.company-copy p{font-size:13px;line-height:2.3;max-width:none}.company-copy p+p{margin-top:18px}.company-links{gap:25px;margin-top:20px}.company-links .text-link{font-size:11px}.contact-grid{grid-template-columns:1fr;gap:33px}.contact h2{font-size:clamp(28px,7.3vw,50px);line-height:1.65}.contact-fee{font-size:11px;margin-top:25px;max-width:100%;line-height:2.1}.contact-fee strong{font-size:14px}.contact-main{padding-bottom:20px}.contact-main>span:first-child{font-size:31px}.contact-arrow{font-size:80px}.contact-note{font-size:10px}.contact-phone{font-size:32px;margin-top:20px}.contact-phone small{font-size:10px}.site-footer{padding-top:42px}.footer-top{grid-template-columns:1fr 1fr;gap:30px 24px;padding-bottom:32px}.footer-brand{grid-column:1/-1}.footer-wordmark{font-size:44px}.footer-statement{font-size:16px;margin-top:20px;margin-bottom:19px}address{font-size:10px;line-height:2.3;max-width:100%}.footer-column{font-size:10px}.footer-column h4{font-size:10px}.group-menu nav{font-size:10px}.footer-bottom{flex-direction:column;gap:17px;font-size:9px;padding:19px 0}.footer-bottom ul{gap:10px 18px}.footer-end{font-size:10px}.contact-actions .text-link{font-size:11px}
  @keyframes masthead-set{from{transform:translateY(115%) scaleX(1.04)}to{transform:translateY(0) scaleX(1.04)}}
}
@media(max-width:390px){:root{--gutter:19px}.utility{gap:11px}.company-name{font-size:9px}.utility-cta{font-size:9px}.cover-meta{font-size:9px}.cover-meta .folio{font-size:9px}.cover-lead{font-size:15px}.cover-bottom{grid-template-columns:16% 1fr;gap:16px}.cover-mark{font-size:63px}.cover-description{font-size:10px}.cover-sidebar{gap:0 17px}.service-copy h3{font-size:29px}.company-heading{gap:15px}.company-mark{font-size:64px}.company-heading h2{font-size:24px}}
@media(max-width:760px){body:not(.js-ready) .menu-button{display:none}body:not(.js-ready) .main-menu{display:block;padding:12px 0}.second-line{font-size:13.2vw}}
/* Revision a / 4: an unmistakable, pressable paper button in the red spread. */
@media(max-width:760px){
  .contact .contact-main{min-height:154px;padding:22px 18px;gap:14px}
  .contact .contact-main>span:first-child{font-size:32px}
  .contact .contact-arrow{font-size:40px;width:48px;height:48px}
}
@media(max-width:350px){
  .contact .contact-main{padding:20px 16px;gap:12px}
  .contact .contact-main>span:first-child{font-size:28px}
  .contact .contact-arrow{font-size:36px;width:42px;height:42px}
}
/* Revision b: give the reader's words priority over the editorial furniture. */
.cover .cover-bottom{display:block;margin-top:36px}
.cover .cover-copy{max-width:none;padding-top:0}
.cover .cover-lead{font-size:clamp(22px,2.3vw,36px);font-weight:900;line-height:1.95;letter-spacing:-.03em}
.cover-detail{display:grid;grid-template-columns:32px minmax(0,1fr);gap:13px;align-items:center;margin-top:21px}
.cover-detail .cover-mark{font-size:32px;line-height:1;margin:0;opacity:.7}
.cover-detail .cover-description{margin:0;font-size:12px;line-height:2}
.cover .cover-cta{margin-top:20px;font-size:13px;max-width:390px}
.business .service{grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:32px}
.business .service-number>span:first-child{font-size:64px;color:var(--muted)}
.business .service-copy>p:not(.eyebrow):not(.service-brand){max-width:none;font-size:15px;line-height:2.05}
.business .service-copy .text-link{max-width:none;font-size:12px;margin-top:23px}
.service-examples{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}
.service-examples li{padding:4px 9px;border:1px solid var(--line);font-size:11px;font-weight:600;line-height:1.7}
.business .service-figure{margin:0;align-self:center;min-width:0}
.business .image-window{aspect-ratio:1.85}
.image-window picture{display:block;width:100%;height:100%}
.service-figure figcaption{gap:12px;line-height:1.5}
.approach .process-track{display:flex;align-items:center;gap:24px;margin-bottom:28px}
.approach .process-track i{flex:1}
.approach .track-arrow{font-size:48px}
.approach .process{gap:32px}
.approach .process li{padding:26px 0 0;border-top-color:#8493a8}
.approach .process li::before{content:none}
.process-step{display:block;font-family:"Barlow Condensed",sans-serif;font-size:56px;font-weight:800;line-height:1;color:var(--paper);margin-bottom:18px}
.approach .process h3{font-size:clamp(20px,2.1vw,30px);font-weight:900;line-height:1.65;color:var(--paper);margin-bottom:15px}
.approach .process p{font-size:16px;font-weight:600;line-height:2.1;color:var(--paper);max-width:none}
.approach-assurance{margin-top:36px;padding:16px 0 16px 20px;border-left:3px solid #00999a;font-size:15px;font-weight:600;line-height:2;color:var(--paper);max-width:850px}
.contact .contact-main{justify-content:center;gap:clamp(16px,2vw,28px);min-height:166px;padding:24px clamp(18px,2vw,28px)}
.contact .contact-main>span:first-child{font-size:clamp(28px,3.35vw,54px)}
.contact .contact-arrow{font-size:clamp(28px,2.8vw,42px);width:1.2em;height:1.2em}
.contact .contact-fee{font-size:14px;line-height:2.2}
.contact .contact-fee strong{font-size:18px}
.contact-assurances{display:grid;gap:9px;margin-top:29px}
.contact-assurances li{position:relative;padding-left:24px;font-size:13px;font-weight:600;line-height:1.95}
.contact-assurances li::before{content:"✓";position:absolute;left:0;top:0;font-family:Arial,sans-serif;font-size:17px;font-weight:700}
.contact-assurances li:last-child{font-weight:900}
@media(max-width:1050px){
  .business .service{grid-template-columns:52px minmax(0,1fr) minmax(0,1fr);gap:25px}
  .business .service-copy>p:not(.eyebrow):not(.service-brand){font-size:14px}
  .approach .process{gap:24px}
  .approach .process p{font-size:15px}
}
@media(max-width:760px){
  .cover .cover-bottom{margin-top:29px}
  .cover .cover-lead{font-size:clamp(17px,5.25vw,26px);line-height:1.95}
  .cover-detail{grid-template-columns:27px minmax(0,1fr);gap:11px;margin-top:18px}
  .cover-detail .cover-mark{font-size:27px}
  .cover-detail .cover-description{font-size:11px;line-height:2}
  .cover .cover-cta{font-size:12px;margin-top:18px;max-width:none}
  .business .service{grid-template-columns:40px minmax(0,1fr);gap:23px 16px}
  .business .service-number>span:first-child{font-size:50px}
  .business .service-copy>p:not(.eyebrow):not(.service-brand){font-size:14px;line-height:2.05}
  .business .service-copy .text-link{font-size:11px;margin-top:20px}
  .business .image-window{aspect-ratio:1.75}
  .service-examples{margin-top:15px;gap:6px}
  .service-examples li{font-size:10px;padding:4px 7px}
  .service-figure figcaption{font-size:9px}
  .approach .process-track{display:none}
  .approach .process{display:block}
  .approach .process li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:15px;padding:26px 0}
  .process-step{grid-column:1;grid-row:1/3;font-size:44px;margin:3px 0 0}
  .approach .process h3{grid-column:2;font-size:22px;margin-bottom:11px}
  .approach .process p{grid-column:2;font-size:15px;line-height:2.05}
  .approach-assurance{margin-top:8px;padding:13px 0 13px 15px;font-size:14px;line-height:2.1}
  .contact .contact-main{min-height:150px;padding:22px 18px;gap:16px}
  .contact .contact-main>span:first-child{font-size:34px}
  .contact .contact-arrow{font-size:30px;width:38px;height:38px}
  .contact .contact-fee{font-size:13px}
  .contact .contact-fee strong{font-size:17px}
  .contact-assurances{gap:10px;margin-top:27px}
  .contact-assurances li{font-size:13px;line-height:2}
}
@media(max-width:350px){
  .contact .contact-main{padding:20px 16px;gap:12px}
  .contact .contact-main>span:first-child{font-size:29px}
  .contact .contact-arrow{font-size:28px;width:34px;height:34px}
  .approach .process h3{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .service-figure img,.service:hover img{filter:grayscale(.1) saturate(.8)!important;transform:none!important}
  .contact .contact-main{box-shadow:6px 6px 0 var(--contact-shadow)}
  .contact .contact-main:hover,.contact .contact-main:focus-visible{box-shadow:6px 6px 0 #001a47;background:var(--paper)}
  .contact .contact-main:active{box-shadow:6px 6px 0 #001a47;background:var(--paper)}
  .contact .contact-main:hover .contact-arrow,.contact .contact-main:focus-visible .contact-arrow,.contact .contact-main:active .contact-arrow{background:var(--ink)}
  .contact .contact-main,.contact .contact-main:hover,.contact .contact-main:focus-visible,.contact .contact-main:active,.contact .contact-main>span:first-child,.contact .contact-arrow{transform:none!important}
  .flow-mark,.flow-page,.sidebar-direction,.track-arrow,.ai-type::before{transform:none!important;translate:none!important;rotate:none!important}
  .flow-route{stroke-dashoffset:0!important}
  .contents-arrow,.utility-cta span,.link-arrow{transform:none!important}
  html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.motion-ready .cover-title .letter,.cover-title.is-live .letter{transform:none!important}.motion-ready .typeset .type-word{transform:none!important}.motion-ready .service-number>span:first-child{clip-path:none!important;transform:none!important}.motion-ready .service .image-window{clip-path:none!important}.motion-ready .process-track i{transform:none!important}.service-figure img{transform:none!important}.reading-progress{display:none}
}
