:root { --paper:#FAF7EF; --surface:#fff; --ink:#111510; --muted:#576159; --forest:#2f574b; --forest-strong:#1e3f35; --sage:#ddeee6; --soft-blue:#dbe8ed; --soft-rose:#ece2df; --line:#d7ded8; --loop:#ffbc32; --max:1200px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:16px; line-height:1.58; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:focus-visible { outline:3px solid var(--forest); outline-offset:4px; border-radius:4px; }
.skip-link { position:absolute; top:-5rem; left:1rem; z-index:10; padding:.65rem 1rem; color:#fff; background:var(--ink); }
.skip-link:focus { top:1rem; }
.site-header { display:flex; align-items:center; justify-content:space-between; max-width:var(--max); min-height:86px; margin:auto; padding:0 32px; border-bottom:1px solid var(--line); }
.wordmark { display:block; width:210px; line-height:0; text-decoration:none; }
.primary-logo-crop { position:relative; display:block; width:100%; aspect-ratio:1395/347; overflow:hidden; }
.primary-logo-crop img { position:absolute; top:-88.18%; left:-10.47%; display:block; width:119.86%; max-width:none; height:auto; }
nav { display:flex; gap:1.5rem; }
nav a { font-size:.86rem; font-weight:700; text-decoration:none; }
.eyebrow { margin:0 0 1.1rem; color:var(--forest); font-size:.71rem; font-weight:800; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; }
.home-hero,.portfolio,.product,.story-section,.about-section,.contact-section,.meet-hero,.meet-products,.looking,.follow-up { max-width:var(--max); margin:auto; padding-right:32px; padding-left:32px; }
.home-hero { max-width:1000px; margin-left:max(0px,calc((100vw - var(--max))/2)); padding-top:clamp(5rem,11vw,10rem); padding-bottom:clamp(5rem,11vw,10rem); }
.home-hero h1,.meet-hero h1 { max-width:940px; margin:0; font-size:clamp(3.1rem,7vw,6.7rem); letter-spacing:-.075em; line-height:.94; }
.hero-copy { max-width:650px; margin:2rem 0 0; color:#354138; font-size:clamp(1.1rem,1.7vw,1.35rem); }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.2rem; margin-top:2.2rem; }
.button { display:inline-flex; align-items:center; gap:.65rem; min-height:48px; padding:.72rem 1.08rem; border-radius:999px; color:#fff; background:var(--forest); font-weight:750; text-decoration:none; transition:background .18s ease,transform .18s ease; }
.button:hover { background:var(--forest-strong); transform:translateY(-1px); }
.button svg,.text-link svg { width:17px; height:17px; }
.text-link { display:inline-flex; align-items:center; gap:.5rem; font-weight:750; }
.portfolio { padding-top:1.5rem; padding-bottom:7rem; }
.section-heading { max-width:660px; }
.section-heading h2,.about-section h2,.contact-section h2,.follow-up h2 { margin:0 0 1.3rem; font-size:clamp(2.2rem,5vw,4.5rem); letter-spacing:-.067em; line-height:.98; }
.section-heading > p:last-child { color:#425047; font-size:1.15rem; }
.comparison { display:grid; grid-template-columns:1fr 1fr; margin-top:3rem; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.comparison article { padding:2rem; }
.comparison article + article { border-left:1px solid var(--line); background:var(--sage); }
.product-name { margin:0 0 .5rem; font-size:1.45rem; font-weight:800; letter-spacing:-.045em; }
.product { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(2.5rem,7vw,8rem); padding-top:clamp(5rem,10vw,9rem); padding-bottom:clamp(5rem,10vw,9rem); }
.loopcut { max-width:none; padding-right:max(32px,calc((100vw - var(--max))/2)); padding-left:max(32px,calc((100vw - var(--max))/2)); color:#edf5f1; background:#071013; }
.loopcut .product-copy { max-width:590px; }
.loopcut .eyebrow { color:var(--loop); }
.loopcut .product-lead,.clearhour .product-lead { font-size:clamp(1.35rem,2vw,1.75rem); font-weight:730; letter-spacing:-.035em; line-height:1.16; }
.loopcut .actions { margin-top:2.5rem; }
.loop-button { color:#201a0b; background:var(--loop); }
.loop-button:hover { background:#ffd36d; }
.loopcut-shot { max-height:580px; margin:0; overflow:hidden; border-radius:28px 28px 0 0; background:#111; justify-self:center; }
.loopcut-shot img { display:block; width:min(330px,75vw); height:auto; }
.product h2 { margin:0; font-size:clamp(2.8rem,5vw,5.4rem); letter-spacing:-.075em; line-height:.9; }
.category { margin:.7rem 0 1.8rem; color:var(--forest); font-weight:750; }
.clearhour { padding-top:9rem; }
.clearhour h3 { margin:1.8rem 0 1rem; font-size:clamp(1.5rem,2.8vw,2.25rem); letter-spacing:-.045em; line-height:1.05; }
.value-quote { margin:2rem 0; padding-left:1rem; border-left:3px solid var(--forest); font-size:1.2rem; font-weight:690; }
.mechanisms { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; margin:2rem 0; padding:0; list-style:none; }
.mechanisms li { padding:.75rem 0; border-top:1px solid currentColor; font-size:.95rem; font-weight:680; }
.hero-phone { margin:0; padding:clamp(2rem,5vw,5rem) clamp(1.2rem,4vw,4rem) 0; border-radius:36px; background:var(--soft-blue); justify-self:center; }
.hero-phone picture,.hero-phone img { display:block; width:min(455px,67vw); height:auto; }
.prototype-note { margin-top:1rem; color:var(--muted); font-size:.86rem; }
.story-section { padding-top:1rem; padding-bottom:9rem; }
.story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; margin-top:3rem; }
.story-card { display:flex; flex-direction:column; padding:1.1rem; border:1px solid var(--line); border-radius:20px; background:var(--surface); }
.image-link { display:block; margin-bottom:1.7rem; border-radius:13px; background:var(--soft-rose); text-decoration:none; }
.story-card picture,.story-card img { display:block; width:100%; height:auto; border-radius:13px; }
.story-card h3 { margin:0 0 .7rem; font-size:1.42rem; letter-spacing:-.045em; line-height:1.05; }
.story-card p:last-child { margin:0; color:#4a554d; }
.about-section { max-width:800px; margin-left:max(0px,calc((100vw - var(--max))/2)); padding-top:8rem; padding-bottom:8rem; border-top:1px solid var(--line); }
.about-section > p:last-child { max-width:650px; color:#455148; font-size:1.2rem; }
.contact-section { max-width:none; padding-top:7rem; padding-bottom:8rem; background:var(--sage); text-align:center; }
.contact-section > * { max-width:700px; margin-right:auto; margin-left:auto; }
.email-link { font-size:clamp(1.5rem,3vw,2.8rem); font-weight:800; letter-spacing:-.055em; }
.site-footer { display:flex; justify-content:space-between; max-width:var(--max); margin:auto; padding:2.2rem 32px 3rem; border-top:1px solid var(--line); color:var(--muted); font-size:.9rem; }
.site-footer p { margin:0; }.site-footer .footer-brand { display:block; width:220px; }.corporate-logo-crop { position:relative; display:block; width:100%; aspect-ratio:1326/415; overflow:hidden; }.corporate-logo-crop img { position:absolute; top:-66.02%; left:-12.75%; display:block; width:126.09%; max-width:none; height:auto; }.footer-brand p { margin-top:.55rem; }.site-footer .footer-links { display:flex; align-items:flex-start; gap:1.3rem; }
.meet-page .site-header { border-bottom:0; }
.meet-hero { display:grid; grid-template-columns:minmax(250px,.8fr) 1.2fr; align-items:center; gap:clamp(2.5rem,8vw,8rem); max-width:1060px; padding-top:clamp(2rem,7vw,7rem); padding-bottom:clamp(5rem,9vw,8rem); }
.meet-photo { overflow:hidden; border-radius:160px 160px 24px 24px; background:var(--soft-rose); }.meet-photo picture,.meet-photo img { display:block; width:100%; height:auto; }
.meet-hero h1 { font-size:clamp(3.5rem,6.5vw,6rem); }.meet-subtitle { margin:.85rem 0 1.8rem; font-size:1.18rem; font-weight:700; }.visible-email { display:inline-block; margin-top:1.4rem; color:var(--forest); font-weight:700; }
.meet-products { padding-top:6rem; padding-bottom:6rem; border-top:1px solid var(--line); }
.meet-product-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; margin-top:3rem; }.meet-product { min-height:360px; padding:clamp(1.5rem,3vw,3rem); border-radius:20px; }.meet-product h3 { margin:0; font-size:clamp(2rem,3vw,3.1rem); letter-spacing:-.065em; line-height:.94; }.meet-product .text-link { margin-top:1rem; margin-right:1rem; }
.loopcut-mini { color:#edf5f1; background:#071013; }.loopcut-mini .eyebrow { color:var(--loop); }
.clearhour-mini { display:grid; grid-template-columns:1fr 150px; gap:1rem; background:var(--soft-blue); }.clearhour-mini picture,.clearhour-mini img { width:100%; height:auto; align-self:end; }
.looking { padding-top:6rem; padding-bottom:6rem; }.looking-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:3rem; border:1px solid var(--line); background:var(--line); }.looking-grid article { min-height:220px; padding:2rem; background:var(--paper); }.looking-grid article p:last-child { margin:0; color:#455148; }
.follow-up { max-width:none; padding-top:7rem; padding-bottom:8rem; color:#fff; background:var(--forest); text-align:center; }.follow-up .eyebrow { color:#d8eee3; }.follow-up > * { max-width:680px; margin-right:auto; margin-left:auto; }.follow-up .button { color:var(--forest-strong); background:#fff; }.follow-up .text-link { color:#fff; }
.product-privacy { display:inline-flex; align-items:center; gap:.45rem; margin-top:1.4rem; color:#c9d8d1; font-size:.86rem; }
.product-privacy svg { width:15px; height:15px; }
.legal-main { max-width:900px; margin:auto; padding:clamp(4rem,9vw,8rem) 32px; }
.legal-copy { max-width:700px; }
.legal-copy h1 { margin:0 0 1.2rem; font-size:clamp(3rem,6vw,5.5rem); letter-spacing:-.075em; line-height:.94; }
.legal-copy h2 { margin:2.7rem 0 .85rem; font-size:1.35rem; letter-spacing:-.04em; }
.legal-copy p { max-width:670px; }
.legal-intro { max-width:560px; color:#455148; font-size:1.15rem; }
.legal-copy section { padding-top:1px; }
@media (max-width:700px) { .site-header { min-height:72px; padding:0 20px; gap:1rem; }.wordmark { width:160px; flex:0 0 auto; }.site-header nav { gap:.7rem; }.site-header nav a { font-size:.74rem; }.home-hero,.portfolio,.product,.story-section,.about-section,.contact-section,.meet-hero,.meet-products,.looking,.follow-up { padding-right:20px; padding-left:20px; }.home-hero { padding-top:4.7rem; padding-bottom:5rem; }.comparison,.meet-product-grid { grid-template-columns:1fr; }.comparison article + article { border-top:1px solid var(--line); border-left:0; }.product { grid-template-columns:1fr; gap:3rem; }.loopcut { padding-right:20px; padding-left:20px; }.loopcut-shot { max-height:460px; justify-self:start; }.clearhour { padding-top:5rem; }.hero-phone { width:100%; max-height:560px; padding-top:2.4rem; }.hero-phone picture,.hero-phone img { width:min(370px,80vw); margin:auto; }.story-section { padding-bottom:5.5rem; }.story-grid { grid-template-columns:1fr; }.image-link { height:360px; }.about-section { padding-top:5rem; padding-bottom:5rem; }.site-footer { flex-direction:column; gap:1.5rem; padding:2rem 20px; }.site-footer .footer-links { flex-direction:column; gap:.35rem; }.meet-hero { grid-template-columns:1fr; padding-top:1rem; }.meet-photo { width:min(74vw,330px); margin:auto; }.meet-products,.looking { padding-top:4.5rem; padding-bottom:4.5rem; }.clearhour-mini { grid-template-columns:1fr; }.clearhour-mini picture { width:185px; justify-self:start; }.looking-grid { grid-template-columns:1fr; }.looking-grid article { min-height:unset; padding:1.6rem; }.follow-up { padding-top:5rem; padding-bottom:5rem; } }
@media (max-width:430px) { .wordmark { width:150px; }.site-header nav { gap:.55rem; }.site-header nav a { font-size:.7rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
@media (max-width:700px) { .hero-phone { max-height:none; overflow:visible; } .image-link { height:auto; overflow:visible; } }
@media (max-width:700px) { .clearhour-mini picture { width:100%; max-width:300px; margin:1.5rem auto 0; justify-self:center; } }

.coming-soon { display:inline-flex; align-items:center; gap:.55rem; margin:1.4rem 0 -.9rem 1.2rem; padding:.48rem .8rem; position:relative; z-index:2; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#071013; background:#d9ff65; box-shadow:0 8px 24px rgba(7,16,19,.16); font-size:.78rem; font-weight:850; letter-spacing:.01em; }
.coming-soon:before { width:7px; height:7px; border-radius:50%; background:#071013; box-shadow:0 0 0 4px rgba(7,16,19,.1); content:""; }
.waitlist { --waitlist-accent:#d9ff65; position:relative; margin-top:0; padding:2.15rem 1.4rem 1.45rem; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:22px; color:#f4f7ef; background:#071013; box-shadow:0 18px 44px rgba(7,16,19,.16); }
.waitlist:after { position:absolute; top:-82px; right:-68px; width:180px; height:180px; border:28px solid rgba(217,255,101,.11); border-radius:50%; content:""; pointer-events:none; }
.waitlist > * { position:relative; z-index:1; }
.waitlist .eyebrow { margin-bottom:.55rem; color:var(--waitlist-accent); }
.waitlist h3 { margin:.1rem 0 .45rem; color:#fff; font-size:clamp(1.45rem,2.4vw,1.8rem); letter-spacing:-.045em; }
.waitlist > p:not(.eyebrow) { max-width:410px; margin:.35rem 0 1.25rem; color:#c9d8d1; font-size:.94rem; }
.waitlist-form label { display:block; margin-bottom:.42rem; color:#fff; font-size:.84rem; font-weight:750; }
.waitlist-controls { display:flex; gap:.65rem; }
.waitlist-controls input { flex:1; min-width:0; min-height:50px; padding:.72rem .9rem; border:1px solid #718079; border-radius:11px; background:#f7f9f4; color:var(--ink); font:inherit; }
.waitlist-controls input:focus { outline:3px solid rgba(217,255,101,.34); outline-offset:2px; border-color:var(--waitlist-accent); }
.waitlist-controls .button { border:0; color:#071013; background:var(--waitlist-accent); cursor:pointer; font:inherit; white-space:nowrap; }
.waitlist-controls .button:hover { background:#e5ff94; box-shadow:0 7px 20px rgba(217,255,101,.16); }
.waitlist-controls .button:disabled { opacity:.65; cursor:wait; transform:none; }
.waitlist-privacy { margin:.8rem 0 0 !important; color:#99aaa2 !important; font-size:.77rem !important; line-height:1.45; }
.waitlist-privacy a { color:#d9e5df; }
.form-status { min-height:1.4em; margin:.65rem 0 0 !important; color:var(--waitlist-accent) !important; font-size:.86rem !important; font-weight:700; }
.form-status[data-state="error"] { color:#ff9b8d !important; }
.form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:700px) { .coming-soon { margin-left:.8rem; font-size:.72rem; }.waitlist { padding:2.05rem 1.15rem 1.3rem; }.waitlist-controls { flex-direction:column; }.waitlist-controls .button { justify-content:center; } }
