:root{--ink:#050505;--paper:#fff;--cream:#f1f1f1;--red:#9fa0a3;--lime:#e8e8e8;--muted:#747474;--line:rgba(5,5,5,.2)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}
.entry-flow{position:fixed;inset:0;z-index:100;background:var(--ink);display:grid;place-items:center;padding:22px;transition:opacity .35s ease,visibility .35s ease}
.entry-flow.complete{opacity:0;visibility:hidden;pointer-events:none}
.entry-card{width:min(820px,100%);min-height:440px;background:var(--paper);padding:26px 38px 38px;position:relative;box-shadow:14px 14px 0 #9fa0a3}
.entry-brand{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.06em}
.entry-panel{display:none;padding-top:42px}
.entry-panel.active{display:block}
.entry-panel h1{font-size:clamp(38px,5vw,58px);letter-spacing:-.06em;line-height:.95;margin:0}
.entry-panel>p:not(.eyebrow){color:var(--muted);font-size:15px;margin:14px 0 22px}
.entry-choices{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}
.entry-choices button{min-height:124px;background:transparent;border:0;border-right:1px solid var(--ink);padding:16px 18px;text-align:left;display:flex;flex-direction:column;cursor:pointer;color:var(--ink)}
.entry-choices button:last-child{border-right:0}
.entry-choices button:hover{background:var(--lime)}
.entry-choices span{font:11px 'DM Mono';color:var(--muted)}
.entry-choices b{font-size:20px;margin-top:auto}
.entry-choices small{font-size:11px;margin-top:5px;color:var(--muted)}
.entry-back{position:absolute;top:68px;right:38px;border:0;border-bottom:1px solid var(--ink);background:transparent;font:600 11px Manrope;cursor:pointer}
.entry-confirm{text-align:center;max-width:620px;margin:auto}
.entry-confirm .success-mark{margin:0 auto 22px}
.entry-confirm .button{display:inline-block;margin-top:8px}
.rental-path{display:grid;grid-template-columns:1fr auto;gap:6px;background:var(--cream);padding:16px 18px;margin-bottom:22px}
.rental-path span{font:10px 'DM Mono';text-transform:uppercase;color:var(--muted)}
.rental-path strong{grid-column:1;font-size:14px}
.rental-path button{grid-column:2;grid-row:1/3;border:0;border-bottom:1px solid var(--ink);background:transparent;font:600 11px Manrope;cursor:pointer}
.topbar{height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 2vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);z-index:20}
.brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none;font-size:11px;letter-spacing:.06em}
.brand b{font-weight:800}
.logo-icon{width:23px;height:23px;display:inline-block;flex:0 0 auto;background-image:url('interwoven-logo.png');background-repeat:no-repeat;background-size:205% auto;background-position:50% 12%}
.logo-icon-large{width:112px;height:112px;filter:invert(1);background-size:205% auto;background-position:50% 12%}
.brand-mark{width:34px;height:34px;position:relative;display:block}
.brand-mark i{position:absolute;width:20px;height:20px;border:2px solid var(--ink);border-radius:50%}
.brand-mark i:nth-child(1){left:0;top:0}
.brand-mark i:nth-child(2){right:0;top:0}
.brand-mark i:nth-child(3){left:7px;bottom:0}
.kit-pill{border:1px solid var(--ink);border-radius:999px;background:transparent;padding:5px 8px 5px 11px;display:flex;gap:7px;align-items:center;font:600 10px Manrope;cursor:pointer}
.kit-pill strong{background:var(--ink);color:white;min-width:19px;height:19px;border-radius:50%;display:grid;place-items:center}
.kit-pill [data-cart-total]{font-family:'DM Mono';font-weight:400}
.hero{min-height:640px;padding:7vw 7vw 5vw;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;border-bottom:1px solid var(--line);overflow:hidden}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font:500 11px 'DM Mono';margin:0 0 14px}
.hero h1{font-size:clamp(54px,7.5vw,112px);line-height:.87;letter-spacing:-.07em;margin:0;max-width:900px}
.hero h1 em{font-family:Georgia,serif;font-weight:400;color:#8e8f92}
.lede{font-size:18px;line-height:1.6;max-width:620px;margin:32px 0}
.hero-actions,.step-actions{display:flex;gap:10px}
.button{border:1px solid var(--ink);padding:14px 20px;border-radius:3px;color:var(--ink);font:700 13px Manrope;text-decoration:none;cursor:pointer;text-align:center;background:transparent}
.button.primary{background:var(--ink);color:white}
.button:hover{transform:translateY(-1px)}
.full{width:100%;display:block}
.hero-art{height:440px;position:relative}
.case{width:280px;height:190px;background:var(--ink);color:white;border-radius:2px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-7deg);box-shadow:20px 24px 0 #9fa0a3;display:flex;flex-direction:column;align-items:center;justify-content:center}
.case:before{content:'';position:absolute;top:-26px;width:90px;height:30px;border:10px solid var(--ink);border-bottom:0;border-radius:10px 10px 0 0}
.case span{font:800 72px Manrope;letter-spacing:-.12em}
.case small{font:500 10px 'DM Mono';letter-spacing:.2em}
.orbit{position:absolute;border:1px solid var(--ink);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.orbit-one{width:430px;height:430px}
.orbit-two{width:520px;height:260px;transform:translate(-50%,-50%) rotate(25deg)}
.tag{position:absolute;padding:8px 12px;background:white;font:500 11px 'DM Mono';border:1px solid var(--ink)}
.tag-a{left:2%;top:20%;transform:rotate(-10deg)}
.tag-b{right:4%;top:30%;transform:rotate(8deg);background:white}
.tag-c{right:10%;bottom:14%;background:#9fa0a3;color:white}
.quick-start{padding:80px 7vw;background:var(--ink);color:white}
.quick-start h2,.catalog h2,.cart h2,dialog h2{font-size:32px;letter-spacing:-.04em;margin:0}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border:1px solid #454545}
.quick-grid button{min-height:190px;text-align:left;padding:24px;border:0;border-right:1px solid #454545;background:transparent;color:white;cursor:pointer;display:flex;flex-direction:column}
.quick-grid button:last-child{border:0}
.quick-grid button:hover{background:#3d3d3d}
.quick-grid span{font:11px 'DM Mono';color:#999}
.quick-grid b{font-size:21px;margin-top:auto}
.quick-grid small{color:#aaa;margin-top:4px}
.quick-grid button:hover small,.quick-grid button:hover span{color:white}
.catalog{padding:34px 4vw 60px}
.catalog-head{display:flex;justify-content:space-between;align-items:end;gap:40px}
.search-wrap{width:min(520px,50%);border-bottom:1px solid var(--ink);display:flex;align-items:center;gap:10px;padding:10px 0}
.search-wrap input{border:0;background:transparent;width:100%;font:500 15px Manrope;outline:none}
.filters{display:flex;gap:7px;overflow:auto;padding:20px 0 10px}
.filters button{white-space:nowrap;border:1px solid var(--ink);border-radius:999px;background:transparent;padding:7px 11px;font:600 11px Manrope;cursor:pointer}
.filters button.active{background:var(--ink);color:white}
.results-meta{display:flex;justify-content:space-between;font:11px 'DM Mono';color:var(--muted);padding:8px 0 12px}
.gear-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.gear-card{min-height:126px;padding:13px;display:flex;flex-direction:column;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);background:rgba(255,255,255,.2)}
.gear-card .category{font:10px 'DM Mono';color:var(--muted);text-transform:uppercase}
.gear-card h3{font-size:15px;line-height:1.22;margin:8px 0 12px}
.gear-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:auto}
.price{font:500 13px 'DM Mono'}
.price small{color:var(--muted)}
.add{width:30px;height:30px;border:1px solid var(--ink);background:transparent;font-size:18px;cursor:pointer}
.add.added{background:var(--lime)}
.load-more{display:block;margin:30px auto 0;border:0;border-bottom:1px solid var(--ink);background:none;padding:8px;font:700 12px Manrope;cursor:pointer}
.cart{position:fixed;z-index:40;right:0;top:0;height:100dvh;width:min(560px,100%);background:#fff;transform:translateX(100%);transition:.3s ease;display:flex;flex-direction:column;padding:28px;overflow:auto}
.cart.open{transform:none}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:30;opacity:0;pointer-events:none;transition:.3s}
.scrim.open{opacity:1;pointer-events:auto}
.cart-head{display:flex;justify-content:space-between;align-items:start}
.close{border:0;background:transparent;font-size:30px;cursor:pointer}
.cart-steps{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);margin:26px 0}
.cart-steps span{font:500 11px 'DM Mono';padding:12px 0;color:#aaa}
.cart-steps span.active{color:var(--ink);border-bottom:2px solid var(--red)}
.form-step{display:none}
.form-step.active{display:block}
.empty{padding:70px 20px;text-align:center;color:var(--muted)}
.cart-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.cart-item b{display:block;font-size:13px}
.cart-item small{font:11px 'DM Mono';color:var(--muted)}
.qty{display:flex;align-items:center;gap:8px;font:12px 'DM Mono'}
.qty button,.remove{border:0;background:var(--cream);width:25px;height:25px;cursor:pointer}
.remove{background:transparent;color:#999}
.estimate{display:grid;grid-template-columns:1fr auto;gap:6px;margin:24px 0;padding:18px;background:var(--cream)}
.estimate strong{font:18px 'DM Mono'}
.estimate small{grid-column:1/-1;color:var(--muted);font-size:10px}
fieldset{border:0;padding:0;margin:0 0 22px}
legend,label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choice-grid label{position:relative;margin:0}
.choice-grid input{position:absolute;opacity:0}
.choice-grid span{display:block;border:1px solid var(--line);padding:18px;cursor:pointer}
.choice-grid input:checked+span{border:2px solid var(--ink);background:var(--lime)}
.choice-grid b,.choice-grid small{display:block}
.choice-grid small{font-weight:400;margin-top:4px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
input,textarea{width:100%;border:1px solid var(--line);background:white;padding:13px;font:14px Manrope;margin-top:6px}
textarea{resize:vertical}
.step-actions{justify-content:space-between;margin-top:22px}
.request-note{padding:14px;border-left:3px solid var(--ink);background:#f1f1f1;font-size:11px;line-height:1.5;margin-top:18px}
.email-fallback{font-size:11px!important;line-height:1.6!important;margin-top:22px!important}
.email-fallback a{color:var(--ink)}
.success{text-align:center;padding-top:60px}
.success-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--lime);font-size:28px;margin:0 auto 20px}
.success p{color:var(--muted);line-height:1.6;margin:12px auto 30px;max-width:360px}
.success .button{margin-top:8px}
dialog{max-width:500px;border:1px solid var(--ink);padding:40px;background:var(--paper);box-shadow:14px 14px 0 #9fa0a3}
dialog::backdrop{background:rgba(0,0,0,.5)}
dialog .close{position:absolute;right:15px;top:10px}
dialog p:not(.eyebrow){line-height:1.6;color:var(--muted)}
@media(max-width:900px){.hero{grid-template-columns:1fr;padding-top:100px}
.hero-art{height:350px}
.quick-grid{grid-template-columns:1fr 1fr}
.quick-grid button:nth-child(2){border-right:0}
.gear-grid{grid-template-columns:repeat(3,1fr)}
.catalog-head{display:block}
.search-wrap{width:100%;margin-top:24px}
}
@media(max-width:560px){.topbar{height:44px}
.entry-flow{padding:12px}
.entry-card{padding:22px 18px;min-height:420px;box-shadow:7px 7px 0 var(--red)}
.entry-panel{padding-top:38px}
.entry-panel h1{font-size:38px}
.entry-choices{grid-template-columns:1fr}
.entry-choices button{min-height:92px;border-right:0;border-bottom:1px solid var(--ink)}
.entry-choices button:last-child{border-bottom:0}
.entry-back{top:59px;right:18px}
.kit-pill>span:first-child{display:none}
.hero{padding:70px 22px 40px;min-height:auto}
.hero h1{font-size:53px}
.hero-art{height:300px;transform:scale(.78)}
.quick-start,.catalog{padding:26px 16px 45px}
.quick-grid{grid-template-columns:1fr}
.quick-grid button{min-height:125px;border-right:0;border-bottom:1px solid #454545}
.gear-grid{grid-template-columns:1fr 1fr}
.gear-card{min-height:118px;padding:11px}
.gear-card h3{font-size:14px}
.results-meta span:last-child{display:none}
.cart{padding:22px}
.field-grid{grid-template-columns:1fr}
.brand{font-size:12px}
}
