:root{font-family:Inter,Arial,sans-serif;color:#111;background:#fafafa;font-synthesis:none;--content:1200px;--gutter:max(24px,calc((100% - var(--content))/2));}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.page{position:relative;isolation:isolate;min-height:100svh;display:flex;flex-direction:column;overflow:hidden}.container{width:calc(100% - 48px);max-width:var(--content);margin-inline:auto}.header{height:104px;flex:none;background:rgba(254,254,254,.2);box-shadow:0 0 32px rgba(0,0,0,.05)}.header-content{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{font-size:32px;font-weight:500;line-height:56px}nav{display:flex;gap:24px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:10px 20px;border:1px solid #dedede;border-radius:28px;background:#fafafa;box-shadow:0 4px 16px 3px rgba(0,0,0,.05);font-size:14px;line-height:16px;min-height:38px;transition:box-shadow .15s,background .15s}.button:hover{background:#fff;box-shadow:0 4px 20px 3px rgba(0,0,0,.09)}a:focus-visible{outline:2px solid #555;outline-offset:5px}.hero{padding-top:80px;min-height:640px;flex:1}h1{font-size:56px;font-weight:500;line-height:normal;letter-spacing:-1.12px;max-width:671px;margin:0}p{font-size:24px;font-weight:400;line-height:36px;margin:0}.hero p{color:#555}.footer{position:relative;background:#111;color:#fff;flex:none;height:280px}.footer-content{height:100%;display:flex;align-items:center;justify-content:space-between}.footer nav{gap:24px}.footer .button{color:#000}.grid{position:absolute;inset:0;z-index:-1;pointer-events:none}.vertical{position:absolute;top:0;bottom:0;width:1px;background:url('./assets/grid-vertical.svg') 0 0 / 1024px 1px;writing-mode:vertical-lr;}
/* Rotate the original Figma SVG strips; retain their dash and color values. */
.vertical{background:none}.vertical::before{content:"";position:absolute;left:1px;top:0;width:100lvh;height:1px;background:url('./assets/grid-vertical.svg') repeat-x;transform:rotate(90deg);transform-origin:0 0}.left{left:var(--gutter)}.right{right:var(--gutter)}.center{left:50%}.footer-grid{position:absolute;inset:0;pointer-events:none}.footer-grid span{position:absolute;top:0;width:1px;height:100%}.footer-grid span::before{content:"";position:absolute;width:280px;height:1px;background:url('./assets/grid-footer.svg');transform:rotate(90deg);transform-origin:0 0}
@media(max-width:600px){.header{height:88px}.header .wordmark{font-size:28px}.header nav{gap:16px}.hero{padding-top:40px;min-height:604px}h1{font-size:32px;font-weight:600;line-height:44px;letter-spacing:0;max-width:none}p{font-size:18px;line-height:28px}.footer{height:332px}.footer-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-top:40px}.footer nav{flex-direction:column;align-items:flex-start;gap:24px}.footer .wordmark{margin-top:auto;margin-bottom:32px;margin-left:20px}.vertical.left::before{background-image:url('./assets/grid-mobile-left.svg')}.footer-grid span::before{width:330px;background-image:url('./assets/grid-mobile-footer.svg')}}
@media(max-width:359px){.container{width:calc(100% - 32px)}:root{--gutter:16px}.header nav{gap:8px}.button{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.button{transition:none}}
/* Match the Figma button widths and slightly lowered desktop footer alignment. */
.header a[href^="mailto:"]{width:107px;padding-inline:0}
@media(min-width:601px){.footer nav,.footer-content>.wordmark{transform:translateY(8px)}}
@media(max-width:600px){.header nav{margin-right:-4px}}

.hero p a{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.hero p .quiet-link{text-decoration:none}

/* Frame the actual text bounds so the grid follows wrapping and font loading. */
.hero-frame{position:relative;display:flow-root}
.hero-frame::before,.hero-frame::after{content:"";position:absolute;left:50%;width:100vw;height:1px;pointer-events:none;background:url('./assets/grid-horizontal.svg') repeat-x;transform:translateX(-50%) rotate(180deg)}
.hero-frame::before{top:0}.hero-frame::after{bottom:0}
.hero-copy{max-width:784px;margin-top:32px;display:flex;flex-direction:column;gap:28px}
@media(max-width:600px){.hero-copy{max-width:none}.header nav{margin-right:0}.hero-frame::before{background-image:url('./assets/grid-mobile-top.svg')}.hero-frame::after{background-image:url('./assets/grid-mobile-bottom.svg')}}

/* A quiet, staggered entrance; transforms leave the content frame in place. */
@keyframes hero-enter {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: no-preference) {
  .fonts-ready .hero h1 { animation: hero-enter 480ms cubic-bezier(.22,1,.36,1) 40ms both; }
  .fonts-ready .hero-copy { animation: hero-enter 480ms cubic-bezier(.22,1,.36,1) 180ms both; }
}

@media (prefers-reduced-motion: no-preference) {
  .fonts-pending .hero h1, .fonts-pending .hero-copy { opacity: 0; }
  .fonts-pending .hero-frame::after { opacity: 0; }
}
