
:root{--navy:#061b2f;--green:#5a9527;--ink:#0a0a0a;--muted:#8c8c8c;--coral:#e85d3f;--rule:#dedede}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:white;color:var(--ink)}body{min-height:100dvh}.shell{width:min(calc(100% - 80px),1500px);margin:auto}button,input,textarea{font:inherit}button{cursor:pointer}.site-header{height:116px;display:flex;align-items:center;justify-content:space-between}.brand-button{padding:0;border:0;background:none;width:88px;height:88px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-button img{width:100%;height:100%;object-fit:contain;display:block;mix-blend-mode:multiply}.nav{display:flex;align-items:center;gap:32px}.nav button{border:0;background:none;color:#606060;font-size:12px;letter-spacing:.055em;padding:10px 2px}.nav button:hover,.nav button.active{color:var(--navy)}.nav button.active{box-shadow:inset 0 -1px var(--green)}.view{display:none;min-height:calc(100dvh - 116px);padding:40px 24px 140px}.view.active{display:flex}.home{align-items:center;justify-content:center}.home .wordmark{width:min(76vw,570px);height:auto;display:block;transform:translateY(-36px);mix-blend-mode:multiply}.content{width:min(680px,100%);margin:auto;transform:translateY(-24px)}.content h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(36px,5vw,53px);letter-spacing:-.03em;margin:0 0 29px}.about p{font-size:16px;line-height:1.95;margin:0 0 18px;color:#343434}.contact{width:min(680px,100%)}.contact h1{margin-bottom:14px}.intro{font-size:14px;color:#696969;line-height:1.7;margin:0 0 22px}.contact-email{display:inline-flex;align-items:center;gap:9px;color:#292929;background:none;border:0;padding:0;font-size:14px;text-align:left}.contact-email:hover{text-decoration:underline}.contact-form{margin-top:34px;border:1px solid #e1e1e1;padding:28px 30px 24px;border-radius:2px}.contact-form h2{font:400 24px Georgia,'Times New Roman',serif;margin:0 0 22px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px}.field.wide{grid-column:1/-1}.field label{font-size:11px;letter-spacing:.03em;color:#515151}.field input,.field textarea{border:1px solid #d6d6d6;background:#fff;padding:12px 13px;width:100%;font-size:13px;color:#222;outline-offset:2px;resize:vertical;border-radius:0}.field textarea{min-height:116px}.consent{font-size:10px;color:#777;line-height:1.65;margin:14px 0 20px}.text-link{border:0;padding:0;background:none;text-decoration:underline;color:inherit;font-size:inherit}.send{background:var(--navy);color:white;border:0;min-width:150px;padding:13px 21px;font-size:12px;letter-spacing:.025em}.send:hover{background:#173a53}.preview-note{font-size:11px;color:#999;margin-top:10px}.footer{position:fixed;left:0;right:0;bottom:0;border-top:1px solid var(--rule);background:rgba(255,255,255,.985);transition:transform .6s ease,opacity .6s ease;z-index:6}.footer.hidden:not(:focus-within){transform:translateY(calc(100% - 8px));opacity:.12}.footer-inner{min-height:87px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 0}.footer-left{display:flex;flex-direction:column;gap:9px;align-items:flex-start}.legal{display:flex;align-items:center;gap:10px}.legal button{background:none;border:0;padding:0;font-size:9px;letter-spacing:.02em;color:#555}.legal button:hover{text-decoration:underline}.dot{width:3px;height:3px;border-radius:50%;background:#999}.copy{font-size:9px;color:#8c8c8c;line-height:1.6}.credit{font-family:'Bondini','Bodoni 72','Bodoni MT',Didot,Georgia,serif;font-size:11px;font-weight:400;font-style:italic;letter-spacing:.01em;text-transform:lowercase;white-space:nowrap;color:#e85d3f;margin-left:.55em}.socials{display:flex;align-items:center;gap:23px}.socials a{display:flex;align-items:center;justify-content:center;color:#333;width:18px;height:20px;text-decoration:none}.socials a:hover{color:var(--green)}.socials svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.socials .x{font-size:18px}.socials .in{font-size:17px;font-weight:700;letter-spacing:-1px}.legal-modal{border:1px solid #dedede;max-width:min(500px,calc(100vw - 40px));padding:30px;box-shadow:0 20px 60px #0002}.legal-modal::backdrop{background:#0005}.legal-modal h2{font:400 30px Georgia,serif}.legal-modal p{font-size:13px;color:#555;line-height:1.7}.legal-modal button{border:0;background:var(--navy);color:#fff;padding:10px 17px}.preview-pill{position:fixed;top:31px;left:50%;transform:translateX(-50%);font-size:9px;color:#aaa;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}.bottom-edge{position:fixed;bottom:0;height:18px;width:100%;z-index:5}
@media(max-width:700px){.shell{width:calc(100% - 36px)}.site-header{height:80px}.brand-button{width:64px;height:64px}.nav{gap:22px}.nav button{font-size:11px}.view{min-height:calc(100dvh - 80px);padding:40px 18px 142px}.home .wordmark{width:min(90vw,430px);transform:translateY(-30px)}.content{transform:translateY(0)}.about p{font-size:14px;line-height:1.85}.contact-form{padding:20px 18px}.fields{grid-template-columns:1fr}.field.wide{grid-column:auto}.footer-inner{min-height:100px;gap:10px;padding:13px 0}.footer-left{gap:8px}.legal{gap:7px}.legal button{font-size:8px}.copy{font-size:8px;max-width:245px}.credit{font-size:10.5px;display:block;margin:1px 0 0}.socials{gap:10px;align-self:flex-end;margin-bottom:5px}.socials svg{width:16px;height:16px}.socials .x{font-size:16px}.socials .in{font-size:15px}.preview-pill{display:none}}@media(prefers-reduced-motion:reduce){.footer{transition:none}}

/* V5 — refined typography and uncluttered About presentation */
html,body{font-family:"Avenir Next",Avenir,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.nav button{font-family:inherit;font-size:12px;font-weight:500;letter-spacing:.035em}
.about .content{width:min(810px,100%);transform:translateY(-20px)}
.about p{font-family:"Avenir Next",Avenir,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:clamp(17px,1.75vw,21px);line-height:1.85;letter-spacing:-.018em;font-weight:400;color:#25313b;margin-bottom:23px}
.about p:first-child{font-size:clamp(20px,2.2vw,26px);font-weight:500;line-height:1.65;letter-spacing:-.028em;color:var(--navy)}
.about p:last-child{margin-bottom:0}
.contact h1{font-family:"Avenir Next",Avenir,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-size:clamp(34px,4vw,47px);font-weight:600;letter-spacing:-.045em}
.contact-form h2{font-family:"Avenir Next",Avenir,"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;font-weight:500;letter-spacing:-.025em}
.contact-form{border-color:#dfe3e5}
/* The wordmark moves in from deep behind the page on every entrance to Home. */
.home{perspective:1300px;perspective-origin:50% 49%;overflow:hidden}
.home .wordmark{transform:translateY(-36px);transform-origin:50% 50%;backface-visibility:hidden;will-change:transform,opacity,filter}
.home .wordmark.wordmark-arriving{animation:strandpath-arrival 1250ms cubic-bezier(.18,.78,.18,1) both}
@keyframes strandpath-arrival{
  0%{transform:translateY(-36px) translateZ(-760px) scale(.54);opacity:0;filter:blur(15px)}
  50%{opacity:.88;filter:blur(1.5px)}
  80%{filter:blur(0)}
  100%{transform:translateY(-36px) translateZ(0) scale(1);opacity:1;filter:blur(0)}
}
@media(max-width:700px){
  .about .content{transform:none}
  .about p{font-size:17px;line-height:1.72;margin-bottom:19px}
  .about p:first-child{font-size:20px;line-height:1.59}
  .home .wordmark{transform:translateY(-30px)}
  @keyframes strandpath-arrival{
    0%{transform:translateY(-30px) translateZ(-650px) scale(.52);opacity:0;filter:blur(12px)}
    50%{opacity:.9;filter:blur(1px)}
    100%{transform:translateY(-30px) translateZ(0) scale(1);opacity:1;filter:blur(0)}
  }
}
@media(prefers-reduced-motion:reduce){
  .home .wordmark.wordmark-arriving{animation:none;opacity:1;transform:translateY(-36px);filter:none}
  @media(max-width:700px){.home .wordmark.wordmark-arriving{transform:translateY(-30px)}}
}

/* V6 refinement: calm editorial typography, consistent weight, no visual emphasis on individual paragraphs. */
html,body {font-family: "Avenir Next", "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Arial, sans-serif; font-weight:400;}
.nav button {font-size:12px; font-weight:500; letter-spacing:.045em;}
.about .content {width:min(790px,100%);transform:translateY(-12px);}
.about p,.about p:first-child,.about p:last-child {
 font-family: "Avenir Next", "Segoe UI Variable", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
 color:#243244; font-size:clamp(18px,1.85vw,22px); font-weight:400;
 letter-spacing:-.018em; line-height:1.88; margin:0 0 23px; text-wrap:pretty;
}
.about p:last-child{margin-bottom:0;}
.about .content:before {display:none!important;}
/* A clean floating footer: no divider line, including when the footer is hidden. */
.footer{border-top:0!important;box-shadow:none!important;}
/* A longer, dimensional arrival with no bouncing or sudden stop. */
.home .wordmark,.home .wordmark.wordmark-arriving{animation:none!important;filter:none;}
.home .wordmark-stage {position:relative;width:min(76vw,570px);transform:translateY(-36px);perspective:1550px;perspective-origin:center;isolation:isolate;}
.home .wordmark-stage .wordmark {width:100%;height:auto;display:block;transform:none;mix-blend-mode:normal;will-change:transform,filter,opacity;}
.home .wordmark-stage.arriving {animation:stage-emerge 3200ms cubic-bezier(.12,.56,.18,1) both;}
@keyframes stage-emerge{
 0%{opacity:0;transform:translateY(-36px) scale(.30);filter:blur(18px)}
 25%{opacity:.35;filter:blur(11px)}
 58%{opacity:.88;filter:blur(2.5px)}
 83%{opacity:1;filter:blur(.3px)}
 100%{opacity:1;transform:translateY(-36px) scale(1);filter:blur(0)}
}
/* Traces are clipped to the actual lettering, not the surrounding white canvas. */
.electric-overlay{pointer-events:none;position:absolute;inset:0;opacity:0;overflow:hidden;
 mask-image:var(--wordmask); -webkit-mask-image:var(--wordmask);
 mask-size:100% 100%;-webkit-mask-size:100% 100%;
 mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;
 mix-blend-mode:screen;transition:opacity .2s;
}
.electric-overlay.on{opacity:1;}
.electric-overlay svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.electric-overlay path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.3;filter:drop-shadow(0 0 2px currentColor) drop-shadow(0 0 7px currentColor);opacity:0;}
.electric-overlay path.zap{animation:zap 920ms ease-out forwards;}
@keyframes zap{0%{opacity:0;stroke-dashoffset:650}10%{opacity:.95}32%{opacity:.72}60%{opacity:1}100%{opacity:0;stroke-dashoffset:-180}}
/* Contact page remains within a standard laptop viewport without requiring a vertical scroll. */
.view.contact{padding-top:12px;padding-bottom:95px;min-height:calc(100dvh - 116px);}
.contact .content{transform:none;width:min(660px,100%);}
.contact h1{font-size:clamp(30px,3.3vw,41px);margin-bottom:8px;}
.contact .intro{font-size:13px;line-height:1.45;margin-bottom:11px;}
.contact-email{font-size:12px;}
.contact-form{margin-top:15px;padding:16px 22px 14px;}
.contact-form h2{font-size:19px;margin:0 0 12px;}
.fields{gap:10px 14px;}
.field{gap:4px;}
.field label{font-size:10px;}
.field input,.field textarea{font-size:12px;padding:8px 10px;}
.field textarea{min-height:68px;height:68px;resize:none;}
.consent{font-size:9px;line-height:1.45;margin:9px 0 10px;}
.send{font-size:11px;padding:9px 17px;}
.preview-note{font-size:9px;margin-top:7px;}
@media(max-width:700px){
 .about .content{transform:none;}
 .about p,.about p:first-child,.about p:last-child{font-size:17px;line-height:1.76;margin-bottom:18px;}
 .about .content:before{display:none!important;}
 .home .wordmark-stage{width:min(90vw,430px);transform:translateY(-30px);}
 @keyframes stage-emerge{0%{opacity:0;transform:translateY(-30px) scale(.3);filter:blur(14px)}25%{opacity:.35;filter:blur(9px)}60%{opacity:.92;filter:blur(1px)}100%{opacity:1;transform:translateY(-30px) scale(1);filter:none}}
 .view.contact{padding:6px 15px 94px;min-height:calc(100dvh - 80px);}
 .contact .content{width:min(520px,100%);}
 .contact h1{font-size:27px;margin-bottom:4px;}
 .contact .intro{font-size:11px;line-height:1.35;margin-bottom:8px;}
 .contact-email{font-size:10.5px;}
 .contact-form{padding:11px 13px;margin-top:10px;}
 .contact-form h2{font-size:17px;margin:0 0 8px;}
 .fields{grid-template-columns:1fr 1fr;gap:8px 9px;}
 .field.wide{grid-column:1/-1;}
 .field label{font-size:9px;}
 .field input,.field textarea{padding:7px 8px;font-size:11px;}
 .field textarea{min-height:58px;height:58px;}
 .consent{font-size:8px;margin:7px 0;}
 .send{padding:8px 13px;font-size:10px;min-width:122px;}
 .preview-note{font-size:8px;margin-top:5px;}
}
@media(max-height:700px) and (min-width:701px){
 .view.contact{padding-top:0;padding-bottom:72px;}
 .contact h1{font-size:31px;margin-bottom:3px;}
 .contact-form{margin-top:9px;padding:11px 18px;}
 .contact-form h2{font-size:17px;margin-bottom:7px;}
 .fields{gap:6px 12px;}
 .field textarea{min-height:52px;height:52px;}
 .contact .intro{margin-bottom:5px;}
}
@media(prefers-reduced-motion:reduce){
 .home .wordmark-stage.arriving{animation:none!important;opacity:1;filter:none;transform:translateY(-36px);}
 .electric-overlay{display:none!important;}
}

/* V7 scoped changes only: About illustrated utility strand installation, Contact heading position. */
.contact-top{height:103px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px}
.contact-top .intro{margin:0;max-width:100%}
.contact-top .contact-email{margin:0}
.fiber-build{height:132px;width:100%;max-width:740px;margin:0 0 20px;overflow:hidden;pointer-events:none}
.fiber-drawing{display:block;width:100%;height:100%;overflow:visible}
.fiber-road{fill:none;stroke:#d3dce0;stroke-width:.95;stroke-linecap:round}
.fiber-pole{fill:none;stroke:#728692;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;opacity:0;stroke-dasharray:220;stroke-dashoffset:220}
.installed-strand{stroke:#647886;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-dasharray:840;stroke-dashoffset:840}
.installed-fiber{stroke:#5a9527;stroke-width:2.3;fill:none;stroke-linecap:round;stroke-dasharray:840;stroke-dashoffset:840}
.fiber-truck{transform:translateX(-175px);transform-box:view-box;opacity:0}
.fiber-truck-art{fill:none;stroke:url(#truckline);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.truck-draw{stroke-dasharray:560;stroke-dashoffset:560;fill:none}
.truck-name{font:700 10px Arial,sans-serif;fill:#5a9527;stroke:none;opacity:0}
.fiber-build.play .pole-one{animation:poleDraw 21s linear both}
.fiber-build.play .pole-two{animation:poleDraw2 21s linear both}
.fiber-build.play .pole-three{animation:poleDraw3 21s linear both}
.fiber-build.play .installed-strand{animation:strandRun 21s linear both}
.fiber-build.play .installed-fiber{animation:fiberRun 21s linear both, fiberAfterglow 3.6s ease-in-out 21s infinite}
.fiber-build.play .fiber-truck{animation:truckRoute 21s linear both}
.fiber-build.play .truck-draw{animation:truckSketch 21s linear both}
.fiber-build.play .truck-name{animation:truckLabel 21s linear both}
@keyframes poleDraw{0%,8%{opacity:0;stroke-dashoffset:220}14%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes poleDraw2{0%,17%{opacity:0;stroke-dashoffset:220}25%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes poleDraw3{0%,29%{opacity:0;stroke-dashoffset:220}37%,100%{opacity:1;stroke-dashoffset:0}}
@keyframes strandRun{0%,6%{stroke-dashoffset:840}43%,100%{stroke-dashoffset:0}}
@keyframes fiberRun{0%,48%{stroke-dashoffset:840}78%,100%{stroke-dashoffset:0}}
/* V12: gentle green fiber glow begins after the truck exits at 21s. */
@keyframes fiberAfterglow{
  0%,100%{filter:drop-shadow(0 0 1px rgba(90,149,39,.3));stroke:#5a9527}
  48%{filter:drop-shadow(0 0 4px rgba(111,236,74,.95)) drop-shadow(0 0 8px rgba(111,236,74,.55));stroke:#80d94b}
}
@keyframes truckSketch{0%{stroke-dashoffset:560}8%,100%{stroke-dashoffset:0}}
@keyframes truckLabel{0%,7%{opacity:0}9%,96%{opacity:1}100%{opacity:0}}
@keyframes truckRoute{
0%{opacity:0;transform:translateX(-160px)}
5%{opacity:1;transform:translateX(-100px)}
43%{opacity:1;transform:translateX(580px)}
48%{opacity:1;transform:translateX(580px)}
78%{opacity:1;transform:translateX(-32px)}
81%{opacity:1;transform:translateX(-32px)}
98%{opacity:1;transform:translateX(780px)}
100%{opacity:0;transform:translateX(820px)}
}
@media(max-width:700px){
 .contact-top{height:72px;gap:8px}
 .fiber-build{height:90px;margin-bottom:13px}
}
@media(max-height:700px) and (min-width:701px){.contact-top{height:84px;gap:7px}}
@media(prefers-reduced-motion:reduce){
 .fiber-pole{opacity:1;stroke-dashoffset:0;animation:none!important}
 .installed-strand,.installed-fiber{stroke-dashoffset:0;animation:none!important}
 .fiber-truck{opacity:0;animation:none!important}
 .truck-draw,.truck-name{animation:none!important}
}

/* V8: edge-aligned chrome only; inner page content is unchanged. */
.site-header.shell,.footer-inner.shell{width:calc(100% - 48px);max-width:none;margin-inline:24px}
@media(max-width:700px){.site-header.shell,.footer-inner.shell{width:calc(100% - 24px);margin-inline:12px}}

/* V9: About fits its viewport. All other pages and existing animation remain unchanged. */
.view.about {
  height:calc(100dvh - 116px);
  min-height:0;
  padding:8px 24px 108px;
  overflow:hidden;
}
.about .content {width:min(790px,100%);transform:none;margin:auto;}
.about .fiber-build {height:clamp(68px,12.3dvh,108px);margin-bottom:clamp(7px,1.6dvh,13px);}
.about p,.about p:first-child,.about p:last-child {
  font-size:clamp(15px,1.34vw,18px);
  line-height:1.55;
  margin-bottom:clamp(7px,1.5dvh,14px);
  letter-spacing:-.012em;
}
.about p:last-child {margin-bottom:0;}
@media(max-width:700px){
  .view.about {height:calc(100dvh - 80px);min-height:0;padding:5px 17px 112px;}
  .about .content {transform:none;width:min(520px,100%);}
  .about .fiber-build {height:clamp(46px,9.5dvh,76px);margin-bottom:clamp(7px,1.5dvh,12px);}
  .about p,.about p:first-child,.about p:last-child{
    font-size:clamp(12.5px,3.75vw,16px);
    line-height:1.47;
    margin-bottom:clamp(7px,1.25dvh,12px);
  }
}
@media(max-height:700px){
  .view.about{padding-bottom:98px;}
  .about .fiber-build{height:clamp(38px,10dvh,72px);margin-bottom:6px;}
  .about p,.about p:first-child,.about p:last-child{font-size:clamp(12px,1.15vw,16px);line-height:1.38;margin-bottom:6px;}
}
@media(max-width:700px) and (max-height:700px){
  .view.about{padding-bottom:108px;}
  .about p,.about p:first-child,.about p:last-child{font-size:clamp(11px,3.4vw,14px);line-height:1.35;margin-bottom:5px;}
}

/* V10: About body copy only — bold and italic. */
.about p,.about p:first-child,.about p:last-child{font-weight:400;font-style:italic}
.about p:last-child{font-weight:700}

/* production: legal page layout */
.view.policy{overflow:auto;align-items:flex-start;min-height:calc(100svh - 108px);padding-top:6vh;padding-bottom:145px}.policy .policy-body{margin:0 auto;max-width:770px;width:100%;font:16px/1.8 Georgia,"Times New Roman",serif}.policy h1{font-size:clamp(28px,3.5vw,46px);font-weight:400;margin:0 0 8px}.policy h2{font-size:19px;font-weight:600;margin:22px 0 3px}.policy p,.policy li{margin:0 0 14px}.policy .effective{font:12px/1.5 Arial,sans-serif;color:#777;margin-bottom:28px}.policy a{color:#386c1d}

/* Mobile footer position only: original typography, hierarchy, spacing, alignment and footer animation retained. */
@media(max-width:700px){.footer{bottom:-16px;}}
