/* Cloudfusion / 2026. One visual system: precise structure, expressive motion. */
:root{--paper:#edeee9;--ink:#151717;--muted:#666b69;--line:#c8ccc8;--signal:#2466e8;--pad:clamp(22px,4vw,90px);--night:#101111;--cream:#eeeee8;--ease:cubic-bezier(.16,1,.3,1)}
body{background:var(--night)}
.site-header,body[data-page="about"] .site-header{height:94px;background:#101111e8;color:var(--cream);border-bottom:1px solid #ffffff1c;backdrop-filter:blur(16px);gap:28px}
.brand-symbol,.brand-wordmark{filter:brightness(0) invert(1)}
.primary-nav{gap:27px}.primary-nav .talk-link{color:#171919;background:var(--cream);padding:13px 20px;font-size:12px}
.primary-nav .talk-link:hover{background:#aaccff}.header-utilities{gap:16px}
.site-header .sound-wave{color:#019edb}.site-header .sound-toggle:hover{background:#ffffff17}.site-header .client-access{border:0;color:#c1c7c3;font-size:11px}
.site-header .menu-button{display:flex;gap:12px;background:#ffffff0c;border:1px solid #ffffff2b;border-radius:25px;padding:0 15px;height:44px}.menu-word{font-size:11px!important}.primary-nav>a{font-size:12px}
.story-chapter{padding:100px var(--pad) 135px;position:relative}
.chapter-bar{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-top:23px;border-top:1px solid #ffffff32;font-size:10px;letter-spacing:.08em;line-height:1.5;position:relative;z-index:1}.chapter-bar p:first-child{display:flex;gap:34px}.chapter-bar p:last-child{text-align:right}
.cf-hero{isolation:isolate;position:relative;min-height:max(880px,100svh);padding:155px var(--pad) 48px;background:var(--night);color:var(--cream);display:flex;flex-direction:column;overflow:hidden}
.cf-hero .hero-top{margin:0;position:relative;z-index:2;color:#a9b0ad;font-size:10px;letter-spacing:.08em}
.cf-hero-heading{position:relative;z-index:2;margin-top:auto;padding:75px 0 35px;pointer-events:none}
.cf-hero h1{text-align:left;font-size:clamp(66px,6.5vw,145px);line-height:1.04;letter-spacing:-.067em;max-width:75%;text-wrap:initial}
.cf-hero h1 em{font-size:1.14em;letter-spacing:-.035em;white-space:normal;line-height:.95;color:#cacfc9}
.cf-hero-art{position:absolute;z-index:1;right:-2%;top:18%;width:53%;height:65%;min-height:380px;pointer-events:none}
.cf-mark-fallback{position:absolute;width:70%;height:auto;left:15%;top:22%;filter:grayscale(1) brightness(1.6);transform:rotate(-7deg)}
.cf-hero .hero-bottom{position:relative;z-index:2;margin-top:50px;padding-top:28px;border-top:0;align-items:flex-end}
.cf-hero .hero-bottom>p{max-width:680px;width:53%;font-size:clamp(16px,1.1vw,22px);line-height:1.65;color:#bbc1be}
.cf-hero .hero-actions{flex-direction:row;align-items:center;gap:32px}
.cf-hero .talk-link{background:var(--cream);color:#151717;font-size:12px;padding:18px 24px;min-height:52px}.cf-hero .talk-link:hover{background:#bdd5fc}.cf-hero .explore-link{font-size:12px;min-height:44px}
.cf-intro{background:#171919;color:var(--cream);isolation:isolate;overflow:clip;overflow-clip-margin:0}
.cf-intro-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;margin-top:105px;align-items:start;position:relative;z-index:1}
.cf-intro-copy-track{height:calc(100% - 580px);min-height:370px}
.cf-intro-heading{position:sticky;top:155px;padding-bottom:80px}.cf-intro-heading h2{font-size:clamp(42px,4.3vw,82px);letter-spacing:-.045em;line-height:1.04;text-wrap:initial}.cf-intro-heading h2 em{color:#acb7af}
.cf-intro-heading>p{font-size:17px;line-height:1.75;color:#afb8b2;max-width:430px;margin-top:35px}
.cf-principles{display:flex;flex-direction:column;gap:32px;padding-bottom:30px}
.cf-principle{position:sticky;top:132px;background:#e9ebe5;color:#181b19;border-radius:10px;min-height:530px;padding:37px 42px;overflow:hidden;box-shadow:0 -5px 25px #0000001c}
.cf-principle:nth-child(2){top:154px;background:#252d2a;color:#e9eee9;border:1px solid #536158}
.cf-principle:nth-child(3){top:176px;background:#bed1d2;color:#122a2d}
.cf-card-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid currentColor;padding-bottom:22px;opacity:.65}
.cf-principle h3{font-size:clamp(32px,3.4vw,64px);letter-spacing:-.06em;line-height:1.05;max-width:440px;margin-top:35px;text-wrap:initial}
.cf-principle>p{font-size:15px;line-height:1.65;max-width:350px;margin:20px 0 0;opacity:.77}
.cf-card-art{height:140px;margin-top:30px;position:relative;pointer-events:none;user-select:none}
.cf-art-type{display:flex;align-items:center;gap:16%;font-size:110px;letter-spacing:-.07em;line-height:1;border-top:1px solid #1b24253d;border-bottom:1px solid #1b24253d}.cf-art-type span:last-of-type{font-family:'Instrument Serif',serif;font-style:italic}.cf-art-type:after{content:'';height:100%;width:1px;background:#1b24253d;position:absolute;left:47%;top:0}
.cf-art-code{display:flex;align-items:center;justify-content:center;gap:28px;font-family:'Instrument Serif',serif;font-size:140px;color:#b9c9bd}.cf-art-code>div{width:42%;display:flex;flex-direction:column;gap:14px}.cf-art-code i{height:1px;width:100%;background:#b9c9bd}.cf-art-code i:nth-child(2){width:70%;margin-left:18%}.cf-art-code i:nth-child(3){width:56%;margin-left:18%}
.cf-art-people{display:flex;align-items:center;justify-content:center}.cf-art-people i{position:absolute;width:136px;height:136px;border:1px solid #345760;border-radius:50%;left:calc(50% - 104px)}.cf-art-people i:nth-child(2){left:calc(50% - 32px)}.cf-art-people span{position:relative;text-align:center;font-size:18px;line-height:1.1;font-family:'Instrument Serif',serif;font-style:italic}
.cf-drawing-line{position:absolute;inset:0;width:100%;height:100%;z-index:0;color:#7b9485;pointer-events:none}.about-story>.cf-drawing-line{color:#638379}.about-story>div{position:relative;z-index:1}
.cf-work{background:var(--paper);color:var(--ink);padding-top:80px;border-radius:18px 18px 0 0;isolation:isolate;z-index:2}
.cf-work .chapter-bar{border-color:#1c25252f}.cf-work-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin:95px 0 80px}.cf-work-heading h2{font-size:clamp(50px,6.4vw,125px);line-height:1;letter-spacing:-.065em;text-wrap:initial}.cf-work-heading>p{max-width:300px;font-size:15px;line-height:1.7;color:var(--muted);padding-bottom:8px}
.cf-work-foot{margin-top:190px;display:flex;align-items:end;justify-content:space-between;gap:60px}.cf-work-context>p{max-width:640px;font-size:18px;line-height:1.65;letter-spacing:-.02em}.text-link{display:inline-flex;align-items:center;gap:25px;min-height:44px;font-size:13px;border-bottom:1px solid currentColor;text-align:left}.text-link span{transition:transform .5s var(--ease)}.text-link:hover span{transform:translate(3px,-3px)}
.cf-services{background:#111414;color:var(--cream);padding-top:80px}.services-intro{display:grid;grid-template-columns:1.4fr .6fr;gap:10%;align-items:end;margin:90px 0 100px}.services-intro h2{font-size:clamp(50px,5.7vw,112px);line-height:1.01;letter-spacing:-.055em;text-wrap:initial}.services-intro h2 em{color:#aeb9b3}.services-intro>p{color:#aab6af;font-size:16px;line-height:1.7}
.cf-service{display:grid;grid-template-columns:60px 1fr 65px;gap:30px;border-top:1px solid #ffffff30;padding:32px 0;position:relative;transition:background .3s}.cf-service:last-child{border-bottom:1px solid #ffffff30}.cf-service>.micro{color:#9daba3;padding-top:10px}.cf-service>div{display:grid;grid-template-columns:1fr .85fr;align-items:start;gap:9%}.cf-service h3{font-size:clamp(25px,2.6vw,45px);letter-spacing:-.04em;line-height:1.08;text-wrap:initial}.cf-service p{max-width:470px;color:#9eada4;line-height:1.65;font-size:14px}.cf-service>.text-link{border:1px solid #ffffff40;border-radius:50%;width:48px;height:48px;justify-content:center;justify-self:end;font-size:23px;transition:background .4s,color .4s}.cf-service:focus-within,.cf-service:hover{background:#ffffff05}.cf-service>.text-link:hover{background:#ecf0ea;color:#111}
.cf-care{display:grid;grid-template-columns:1fr 1fr;gap:8%;margin-top:130px}.cf-care h3{font-size:clamp(40px,4vw,70px);line-height:1.07;letter-spacing:-.055em;max-width:480px;margin-top:25px}.cf-care>div:last-child>p{font-size:18px;line-height:1.6;max-width:550px;color:#c3ccc6}.cf-care .cf-essentials{font-size:14px!important;color:#96a69c!important;margin:24px 0}.cf-essentials strong{font-weight:400;color:#d0dad4}
.cf-closing{padding:100px var(--pad);display:block;background:#bdd0d1;color:#112b2e;isolation:isolate}.cf-closing>.section-label{margin-bottom:80px}.cf-closing h2{font-size:clamp(55px,8.8vw,176px);line-height:.95;letter-spacing:-.07em;text-wrap:initial;max-width:none}.cf-closing .closing-bottom{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:80px}.cf-closing .closing-bottom p{font-size:17px;line-height:1.7;max-width:470px}.cf-closing .round-link{font-size:14px;gap:45px}.cf-closing .circle-arrow{width:80px;height:80px;font-size:34px}.round-link:hover .circle-arrow{background:#162e31;color:#c8dcde;transform:rotate(45deg)}
.quiet-footer{background:#101111;color:#bbc2bd;border-top:1px solid #ffffff25;padding:30px var(--pad);font-size:10px}.quiet-footer button,.quiet-footer a{transition:color .25s}.quiet-footer button:hover,.quiet-footer a:hover{color:#fff}
.next-page{background:#171b19;color:var(--cream);min-height:80svh;padding:40px var(--pad);border-top:1px solid #ffffff25}.next-top{color:#9eaca3}.next-name{font-size:clamp(85px,12.5vw,235px);line-height:.9;letter-spacing:-.065em}.next-name em{color:#a7b8ac}.next-progress{background:#46564d}.next-progress>span,.next-page:after{background:#019edb}.next-hint{color:#b9c6be}
#page-curtain{display:grid;place-items:center;background:#1a211d!important;border-radius:24px 24px 0 0}#page-curtain img{filter:brightness(0) invert(1);opacity:.8}
/* Keep page geometry steady when dialogs temporarily hold scrolling. */
html{scrollbar-gutter:stable;background:var(--night)}
#site-menu{inset:105px var(--pad) auto auto;margin:0;width:520px;height:auto;max-height:calc(100svh - 125px);max-width:calc(100vw - 32px);padding:25px 35px 35px;border:1px solid #ffffff2b;border-radius:10px;background:#242a27f5;color:#e7ede6;box-shadow:0 25px 70px #0006;transform-origin:top right;animation:menu-arrive .5s var(--ease)}#site-menu::backdrop{background:#060e0980;backdrop-filter:blur(7px)}#site-menu nav{margin:0 0 24px;gap:0;width:100%;font-size:34px;letter-spacing:-.04em}#site-menu nav>*{width:100%;padding:13px 0;border-bottom:1px solid #ffffff26;text-align:left;transition:padding .4s var(--ease),color .4s}#site-menu nav>*:hover{padding-left:12px;color:#bcd9c6}#site-menu nav small{float:right}#site-menu .dialog-close{margin-bottom:12px}#site-menu .menu-utilities{font-size:11px;gap:0 22px;margin:0 0 15px}#site-menu>.micro{font-size:9px;color:#9eafa4}#site-menu .dialog-sound{display:none}@keyframes menu-arrive{from{opacity:0;transform:translateY(-10px) scale(.97)}to{opacity:1;transform:none}}
dialog:not(#site-menu){border-radius:12px}.contact-context{color:#1656b7}.sound-settings{border-radius:10px}.sound-settings p{line-height:1.7}
.about-hero{background:#101111;color:var(--cream);padding-top:165px;min-height:100svh;gap:70px}.about-hero h1{font-size:clamp(65px,8.4vw,160px);line-height:.98}.about-hero h1 em{color:#afc1b6}.about-hero-bottom{padding-top:35px;border-top:1px solid #ffffff30}.about-hero-bottom>p{color:#b1c0b6;font-size:20px}.about-story{position:relative;isolation:isolate;background:#dae0d9;padding:150px var(--pad);overflow:hidden}.about-story>div:last-of-type{max-width:870px}.about-story h2{font-size:clamp(50px,6vw,110px);line-height:1;letter-spacing:-.05em}.about-story p{max-width:700px;font-size:20px}.about-story>.section-label{max-width:200px}.about-principles{background:#dae0d9;padding:0 var(--pad) 120px}.principle-row{border-color:#222c283d;min-height:270px;padding-top:45px}.principle-row h3{font-size:clamp(28px,3.5vw,60px)}.principle-row p{font-size:17px}.about-location{background:#1c2721;padding:140px var(--pad);color:#dee7dd}.about-location p{color:#b3c6b7}.about-location h2{font-size:clamp(48px,5.8vw,110px)}body[data-page="about"] .closing{background:#bfd1d1;padding:130px var(--pad)}body[data-page="about"] .closing h2{font-size:clamp(48px,6vw,110px)}
@media(min-width:1450px){.cf-hero{min-height:100svh}.cf-hero-heading{padding-top:100px}.cf-principle{min-height:650px}.cf-card-art{margin-top:70px}}
@media(max-width:1200px){.site-header .primary-nav{display:none}.cf-hero h1{font-size:7.3vw}.cf-hero .hero-actions{flex-direction:column;align-items:flex-end;gap:18px}.cf-intro-layout{gap:5%}.cf-principle{padding:30px;min-height:515px}.cf-service>div{gap:5%}.cf-service{grid-template-columns:40px 1fr 50px;gap:20px}}
@media(max-width:800px){.site-header,body[data-page="about"] .site-header{height:82px}.cf-hero{min-height:940px;padding-top:128px}.cf-hero-heading{padding-top:50px;margin-top:0}.cf-hero h1{font-size:9.5vw;max-width:100%}.cf-hero-art{top:420px;right:2%;width:62%;height:300px;min-height:0}.cf-hero .hero-bottom{margin-top:auto}.cf-hero .hero-bottom>p{width:59%;font-size:14px}.cf-intro-layout{display:block;margin-top:65px}.cf-intro-heading{position:relative;top:auto;padding-bottom:55px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.cf-intro-heading h2{font-size:40px}.cf-intro-heading>p{font-size:15px;margin:0}.cf-principles{max-width:580px;margin:auto}.cf-principle{min-height:510px}.cf-principle h3{font-size:42px}.cf-principle:nth-child(1){top:110px}.cf-principle:nth-child(2){top:130px}.cf-principle:nth-child(3){top:150px}.cf-card-art{margin-top:45px}.cf-work-heading{gap:35px}.cf-work-heading h2{font-size:48px}.cf-work-heading>p{max-width:230px;font-size:14px}.services-intro{grid-template-columns:1.2fr .8fr;gap:40px}.services-intro h2{font-size:48px}.services-intro>p{font-size:14px}.cf-service>div{display:block}.cf-service h3{font-size:29px}.cf-service p{margin-top:15px;max-width:500px}.cf-care{gap:50px}.cf-care h3{font-size:40px}.cf-care>div:last-child>p{font-size:16px}.cf-closing .closing-bottom{align-items:start}.cf-closing .closing-bottom p{font-size:14px}.cf-closing .round-link{gap:20px;white-space:nowrap}.cf-closing .circle-arrow{width:56px;height:56px;flex-shrink:0}.about-story{grid-template-columns:1fr 2.2fr;gap:30px}.about-story p{font-size:17px}.about-location{padding-top:100px;padding-bottom:100px}}
@media(max-width:600px){:root{--pad:22px}.site-header,body[data-page="about"] .site-header{height:77px;padding-top:16px;padding-bottom:16px;gap:8px}.site-header .header-utilities{gap:9px}.site-header .client-access{font-size:10px}.site-header .menu-button{padding:0 11px;min-width:40px;height:42px}.site-header .brand{width:128px}.site-header .menu-word{display:none}.site-header .sound-toggle{gap:5px}
.cf-hero{padding-top:117px;padding-bottom:35px;min-height:940px;min-height:max(900px,100svh)}.cf-hero .hero-top{font-size:8px;gap:25px}.cf-hero .hero-top>span:last-child{max-width:135px}.cf-hero-heading{padding:57px 0 0}.cf-hero h1{font-size:12vw;line-height:1.08;letter-spacing:-.055em;max-width:100%}.cf-hero h1 br{display:initial}.cf-hero h1 em{font-size:1.2em;line-height:1}.cf-hero-art{width:92%;height:310px;right:-6%;top:355px;min-height:0}.cf-hero .hero-bottom{margin-top:330px;display:block;padding-top:24px}.cf-hero .hero-bottom>p{font-size:14px;line-height:1.65;width:100%;max-width:420px}.cf-hero .hero-actions{flex-direction:row;justify-content:space-between;align-items:center;margin-top:26px;gap:12px}.cf-hero .talk-link{font-size:11px;min-height:48px;padding:14px 17px;gap:18px}.cf-hero .explore-link{font-size:11px;gap:10px}
.story-chapter{padding:55px var(--pad) 75px}.chapter-bar{gap:20px;font-size:8px;padding-top:20px;align-items:start}.chapter-bar p:first-child{gap:15px}.chapter-bar p:last-child{max-width:120px}.cf-intro-layout{margin-top:65px}.cf-intro-heading{display:block;padding-bottom:55px}.cf-intro-heading h2{font-size:43px}.cf-intro-heading>p{margin-top:26px;font-size:15px}.cf-principles{gap:25px;padding-bottom:0}.cf-principle{min-height:470px;padding:26px;border-radius:8px}.cf-principle:nth-child(1){top:98px}.cf-principle:nth-child(2){top:116px}.cf-principle:nth-child(3){top:134px}.cf-card-label{padding-bottom:19px}.cf-card-label .micro{font-size:9px}.cf-principle h3{font-size:39px;margin-top:32px}.cf-principle>p{font-size:14px}.cf-card-art{height:120px;margin-top:30px}.cf-art-type{font-size:88px;gap:20%}.cf-art-people i{width:116px;height:116px;left:calc(50% - 90px)}.cf-art-people i:nth-child(2){left:calc(50% - 26px)}.cf-art-code{font-size:115px}
.cf-work{border-radius:12px 12px 0 0}.cf-work-heading{display:block;margin:60px 0 40px}.cf-work-heading h2{font-size:47px}.cf-work-heading>p{margin-top:25px;max-width:280px;font-size:14px}.cf-work-foot{display:block;margin-top:50px}.cf-work-context>p{font-size:15px;line-height:1.7}.cf-work-foot>.text-link{margin-top:24px}
.services-intro{display:block;margin:60px 0 50px}.services-intro h2{font-size:46px}.services-intro>p{margin-top:28px;max-width:330px;font-size:15px}.cf-service{grid-template-columns:23px 1fr 44px;gap:11px;padding:28px 0}.cf-service h3{font-size:26px}.cf-service p{font-size:13px;line-height:1.65}.cf-service>.micro{font-size:9px;padding-top:7px}.cf-service>.text-link{width:44px;height:44px;min-height:44px;font-size:19px}.cf-service:hover,.cf-service:focus-within{padding-left:0;padding-right:0}.cf-care{display:block;margin-top:75px}.cf-care h3{font-size:43px;max-width:300px;margin-bottom:30px}.cf-care>div:last-child>p{font-size:16px}.cf-care .cf-essentials{font-size:13px!important}.cf-care .text-link{font-size:11px;gap:12px}
.cf-closing{padding:65px var(--pad)}.cf-closing>.section-label{font-size:9px;margin-bottom:55px}.cf-closing h2{font-size:14vw;line-height:.99}.cf-closing .closing-bottom{display:block;margin-top:45px}.cf-closing .closing-bottom p{font-size:15px}.cf-closing .round-link{font-size:13px;margin-top:35px;justify-content:space-between}.cf-closing .circle-arrow{width:58px;height:58px}.quiet-footer{padding:25px var(--pad);font-size:9px}.quiet-footer>div{gap:0 18px}.next-page{min-height:650px;min-height:75svh;padding:30px var(--pad);gap:40px}.next-name{font-size:23vw;line-height:1}.next-top{font-size:8px}.next-hint{font-size:10px}
#site-menu{inset:87px 12px auto;width:calc(100vw - 24px);max-width:none;max-height:calc(100svh - 102px);padding:15px 25px 25px}#site-menu nav{font-size:28px}#site-menu nav>*{padding:10px 0;min-height:42px}#site-menu .menu-utilities{font-size:10px;gap:0 17px}#site-menu>.micro{font-size:8px}
.about-hero{padding:135px var(--pad) 55px;min-height:90svh;gap:65px}.about-hero>.micro{font-size:9px;max-width:245px}.about-hero h1{font-size:14vw;line-height:1.04}.about-hero-bottom{display:flex;padding-top:28px;gap:28px}.about-hero-bottom>p{font-size:17px}.about-story{display:block;padding:75px var(--pad)}.about-story h2{font-size:46px}.about-story p{font-size:16px}.about-story>.section-label{margin-bottom:45px;max-width:none}.about-principles{padding:0 var(--pad) 70px}.principle-row{grid-template-columns:1fr;gap:25px;padding:30px 0;min-height:0}.principle-row p{grid-column:1;font-size:15px}.principle-row h3{font-size:35px;line-height:1.05}.about-location{padding:65px var(--pad)}.about-location h2{font-size:45px}.about-location p{font-size:16px}body[data-page="about"] .closing{padding:75px var(--pad)}body[data-page="about"] .closing h2{font-size:46px}
}
@media(max-width:360px){.site-header .brand{width:112px}.site-header .brand-wordmark{width:85px}.site-header .brand-symbol{width:24px}.site-header .header-utilities{gap:6px}.cf-hero{min-height:940px}.cf-hero-art{top:325px}.cf-hero .hero-bottom{margin-top:310px}.cf-hero .talk-link{font-size:10px;padding:13px}.cf-principle{padding:22px}.cf-principle h3{font-size:35px}.cf-art-type{font-size:80px}.cf-work-heading h2{font-size:42px}.cf-service{gap:9px}.cf-service h3{font-size:24px}}
html[data-motion="off"] .cf-principle{position:relative;top:auto}
@media(prefers-reduced-motion:reduce){.cf-principle{position:relative;top:auto!important}}

/* Every card remains readable when the viewport is shorter than the stack. */
@media(max-height:760px){.cf-principle{position:relative;top:auto!important}.cf-intro-heading{position:relative;top:auto}}

/* Section margin supplies the header clearance; do not count it twice. */
html{scroll-padding-top:0}

/* On phones, introduce the mark before the headline and business explanation. */
@media(max-width:600px){
  .cf-hero{min-height:0;padding-bottom:28px}
  .cf-hero .hero-top{order:1}
  .cf-hero-heading{order:3;margin:0;padding:12px 0 0}
  .cf-hero .hero-bottom{display:contents}
  .cf-hero .hero-bottom>p{order:4;margin-top:24px;position:relative;z-index:2}
  .cf-hero .hero-actions{order:5;position:relative;z-index:2;margin-top:22px}
  .cf-hero-art{order:2;position:relative;inset:auto;align-self:center;flex-shrink:0}
  .site-header .menu-button{min-width:44px;min-height:44px}
  .site-header .client-access{min-width:44px;min-height:44px}
  .site-header .sound-toggle{min-width:44px}
}
#page :is(a,button,[tabindex]){scroll-margin-top:110px}

/* Customer-journey review: explicit actions, useful proof and a shorter laptop opening. */
.cf-work-context{max-width:640px}.cf-work-context>.text-link{margin-top:22px}
.cf-work-foot>.text-link{flex-shrink:0}
.cf-service{grid-template-columns:60px minmax(0,1fr) 98px}
.cf-service>.text-link{width:auto;min-width:94px;height:44px;min-height:44px;padding:0 13px;border-radius:24px;font-size:12px;gap:12px;align-self:start}
.cf-service>.text-link span{font-size:20px}
.copy-email{display:inline-flex;align-items:center;min-height:44px;margin-top:4px;font-size:12px;text-decoration:underline;text-underline-offset:4px}
.copy-email:hover{color:#1656b7}
.contact-copy-status{font-size:12px!important;line-height:1.5!important;margin:0!important;color:#365248}
.contact-copy-status:empty{display:none}
.contact-phone{display:block;width:fit-content;min-height:44px;padding:10px 0;margin:12px 0 0}
@media(min-width:801px) and (max-height:850px){
 .cf-hero{min-height:max(700px,100svh);padding-top:130px;padding-bottom:32px}
 .cf-hero-heading{padding:45px 0 22px}
 .cf-hero h1{font-size:clamp(64px,6.1vw,102px)}
 .cf-hero-art{top:20%;height:60%;min-height:0}
 .cf-hero .hero-bottom{margin-top:30px;padding-top:22px}
 .cf-hero .hero-bottom>p{font-size:16px}
}
@media(max-width:1200px){.cf-service{grid-template-columns:40px minmax(0,1fr) 98px}}
@media(max-width:600px){
 .cf-service{grid-template-columns:23px minmax(0,1fr);gap:11px}
 .cf-service>.text-link{grid-column:2;justify-self:start;margin-top:8px}
}
/* The page control offers the same quiet CSS behaviour as the system preference. */
html[data-motion="off"] *,html[data-motion="off"] *::before,html[data-motion="off"] *::after{animation:none!important;transition:none!important}

:root{--header-clearance:94px}
section[id]{scroll-margin-top:var(--header-clearance)}
#page :is(a,button,[tabindex]){scroll-margin-top:calc(var(--header-clearance) + 16px)}
@media(max-width:800px){:root{--header-clearance:82px}}
@media(max-width:600px){:root{--header-clearance:77px}}

@media(max-width:600px){
 #contact-dialog .dialog-close{margin-bottom:20px}
 #contact-dialog h2{font-size:34px;line-height:1.04;margin:20px 0}
 #contact-dialog .contact-email{padding-top:16px;padding-bottom:14px}
}

/* Source-copy alignment: allow the original wording to set the rhythm. */
.cf-service p strong{display:block;font-weight:500;color:#d6ded7;margin-top:14px}
.cf-business-heading{font-size:22px;line-height:1.35;font-weight:500;letter-spacing:-.025em;margin-top:40px;max-width:450px}
.cf-care .cf-essentials strong{display:block;margin-top:14px;line-height:1.8}
/* Let the cable frame the action; keep its native reading order and mobile flow. */
@media(min-width:801px){
 .cf-care-action[data-in-cable-loop]{position:absolute;left:var(--care-loop-x);top:var(--care-loop-y);translate:-50% -50%;width:max-content;max-width:calc(var(--care-loop-width) - 48px)}
 .cf-care-action .text-link{max-width:100%}
}
.principle-copy p+p{margin-top:18px}
.about-location .about-services{margin-top:45px}
.about-services h3{font-size:24px;letter-spacing:-.025em;font-weight:500}
.about-services ul{padding-left:20px;margin:20px 0;font-size:17px;line-height:1.8;color:#b3c6b7}
.about-services .text-link{margin-top:18px}
@media(min-width:601px) and (max-width:650px){.principle-copy{grid-column:2}}
@media(max-width:600px){.cf-hero h1 em{font-size:1.08em}.cf-business-heading{font-size:21px}.principle-copy{grid-column:1}}
@media(min-width:1001px){
 .principle-row{grid-template-columns:.65fr 1.1fr 1.25fr}
 .principle-row h3{font-size:clamp(28px,3vw,48px)}
}
@media(min-width:801px) and (max-height:850px){
 .about-hero{padding-top:140px;padding-bottom:48px;gap:42px}
 .about-hero h1{font-size:clamp(64px,7vw,110px)}
 .about-hero-bottom{padding-top:26px}
 .about-hero-bottom>p{font-size:18px}
}
@media(max-width:600px){.next-name{font-size:18vw}}

/* Blue threads emerge beneath the preceding sections; their starting caps are clipped. */
:is(.cf-intro,.cf-services,.about-story)>.cf-drawing-line{color:#019edb;overflow:hidden}
:is(.cf-intro,.cf-services,.about-story)>.cf-drawing-line .cf-drawing-path{stroke-width:12px;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:800px){:is(.cf-intro,.cf-services,.about-story)>.cf-drawing-line .cf-drawing-path{stroke-width:8px}}
/* Cable gauge and blue coating are supplied by the shared hero specification.
   Every band follows the same centreline, with no offset stripe or dark rim. */
.cf-cable-line .cf-drawing-path{stroke-opacity:0}
.cf-cable-coating{pointer-events:none}
.cf-cable-plug{pointer-events:none}
.cf-services{position:relative;isolation:isolate;overflow:clip}
.cf-services>:not(.cf-drawing-line):not(.cf-liquid-stage){position:relative;z-index:2}
.cf-intro-heading h2,.cf-intro-heading>p{position:relative;background:#171919;box-shadow:0 0 16px 12px #171919}
.about-story h2,.about-story p{position:relative;background:#dae0d9;box-shadow:0 0 16px 12px #dae0d9}
.about-story>.section-label{align-self:start;background:#dae0d9;box-shadow:0 0 10px 8px #dae0d9}
@media(max-width:800px){
  .cf-intro-copy-track{height:auto;min-height:0}
  .cf-intro-heading h2,.cf-intro-heading>p{box-shadow:0 0 10px 4px #171919}
  .about-story h2,.about-story p,.about-story>.section-label{box-shadow:0 0 10px 4px #dae0d9}
}

/* Square layout anchor; the shared Signature canvas covers the entire hero. */
.cf-hero-art{z-index:2;height:auto;min-height:0;aspect-ratio:1;pointer-events:none}
.cf-hero>.cf-hero-canvas{z-index:2;position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
/* Keep the camera anchor inside the composition as desktop screens grow. */
@media(min-width:1450px) and (min-height:851px){
 .cf-hero-art{width:min(53%,1000px,80svh);top:52%;transform:translateY(-50%)}
}
/* A shared content rail keeps ultrawide layouts generous without stretching them. */
@media(min-width:2000px){
 :root{--pad:max(90px,calc((100vw - var(--cf-rail-home,1800px))/2))}
 .cf-hero-art{right:calc(var(--pad) - 60px)}
 .cf-hero-heading{margin-bottom:auto}
 .cf-hero h1{font-size:125px}
}
@media(min-width:801px) and (max-height:850px){
 .cf-hero-art{width:min(53%,600px);height:auto;top:20%}
}
@media(min-width:601px) and (max-width:800px){
 .cf-hero-art{width:min(52%,350px);height:auto}
}
@media(max-width:600px){
 .cf-hero-art{height:auto;width:min(90%,clamp(200px,32svh,300px));max-width:300px;margin:8px 0 0}
}

/* All hero backgrounds sit below copy, even when the pointer-liquid layer is
   disabled. Pigment animation must never tint the headline or action labels. */
.cf-hero :is(.hero-top,.cf-hero-heading,.hero-bottom,.hero-actions){z-index:3}
@media(max-width:600px){.cf-hero .hero-bottom>p{z-index:3}}

