:root{font-family:Arial,Helvetica,sans-serif;color:#142b23;background:#f5f7f8;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{background:#0d392b;color:white;border-bottom:5px solid #c9a75e}.masthead{max-width:1480px;margin:auto;padding:28px 32px;display:flex;gap:20px;align-items:center}.crew-icon{width:60px;height:60px;object-fit:contain;flex:none;background:#fff;border:1px solid #729284;border-radius:5px}.season{font-size:.8rem;letter-spacing:.13em;font-weight:bold;margin:0 0 4px;color:#587267}header .season{color:#d5e1db}h1{font-family:Georgia,serif;font-size:2rem;line-height:1.2;margin:0}h1 span{font-weight:normal}.count{margin-left:auto;font-size:.875rem;border:1px solid #66877a;border-radius:20px;padding:7px 16px;white-space:nowrap}main{max-width:1480px;margin:auto;padding:20px 32px 40px}.intro{margin:0 0 20px;color:#52665e;font-size:.95rem}.gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.card{background:white;border:1px solid #dae2dd;display:flex;flex-direction:column;min-width:0;box-shadow:0 2px 3px #17362805}.photo-button{border:0;background:white;padding:12px;width:100%;height:224px;flex:none;cursor:pointer;position:relative;display:grid;place-items:center;overflow:hidden}.photo-button img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;display:block}/* Item 7's cropped hoodie needs a slightly smaller silhouette than at 89%.
   Keep it at 82% and compensate with a -23px vertical offset to preserve its
   improved top alignment with item 6, without clipping the hem or sleeves.
   Item 9 retains its independent visor framing. */
.card[data-product-id="7"] .photo-button img{width:82%;height:82%;object-position:center;transform:translateY(-23px)}
/* Item 8 retains its full source artwork (including shoes). Its portrait image
   sits low in the gallery's clipped frame, so shift the existing 78% contain
   image upward to keep both shoes visible without cropping or rescaling.
   The studio backdrop is whitened selectively during WebP generation, so no
   brightness filter is applied to the green pants or shoes. */
.card[data-product-id="8"] .photo-button img{width:78%;height:78%;object-fit:contain;object-position:center;transform:translateY(-22px)}
.card[data-product-id="9"] .photo-button img{width:86%;height:80%;object-position:center}
.number{position:absolute;top:12px;left:12px;background:#f1f5f3;border-radius:50%;width:25px;height:25px;line-height:25px;font-size:.8rem;color:#496158}.card-copy{padding:16px;display:flex;flex-direction:column;flex:1;border-top:1px solid #eef2ef}.card h2{font-size:1rem;line-height:1.4;margin:0 0 12px;font-weight:600;min-height:4.2em}.card-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.price{font-weight:bold;font-size:1.15rem;margin:0}.details{border:0;background:none;padding:5px 0;color:#116249;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer;margin-left:auto}.details:hover{color:#081f17}.photo-button:hover{background:#f8faf9}button:focus-visible{outline:3px solid #be8f31;outline-offset:4px}dialog{border:none;border-radius:12px;padding:0;width:min(1020px,calc(100% - 32px));max-height:90vh;color:#142b23;box-shadow:0 25px 100px #0006}dialog::backdrop{background:#05180fcc;backdrop-filter:blur(3px)}.detail-layout{display:grid;grid-template-columns:40% 60%}.detail-photo{background:#f4f6f5;padding:38px 24px;display:flex;align-items:flex-start;justify-content:center}.detail-photo img{width:100%;max-height:440px;object-fit:contain;position:sticky;top:20px}.detail-copy{padding:38px 36px}.close{position:sticky;top:12px;float:right;margin:12px 12px -48px 0;z-index:2;border:1px solid #d6ded8;border-radius:50%;background:white;width:36px;height:36px;cursor:pointer;font-size:16px}.detail-copy h2{font-family:Georgia,serif;font-size:1.8rem;line-height:1.2;margin:10px 0 12px;padding-right:12px}.detail-price{font-size:1.7rem;font-weight:bold;margin:0 0 24px;color:#10533c}.detail-copy h3{font-size:.875rem;margin:22px 0 8px;color:#496459}.detail-copy p:not(.season):not(.detail-price){margin:0;line-height:1.65}.sizes{display:flex;gap:7px;flex-wrap:wrap}.sizes span{border:1px solid #cad7ce;border-radius:4px;min-width:40px;text-align:center;padding:5px 9px;font-size:.875rem;background:#f8faf9}body.modal-open{overflow:hidden}@media(min-width:1600px){.photo-button{height:246px}}@media(max-width:1150px){.gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.masthead{padding:22px 20px;gap:12px}.mark{width:48px;height:48px;font-size:34px;line-height:48px}h1{font-size:1.5rem}h1 span{display:block}.count{display:none}main{padding:20px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-button{height:174px}.card-copy{padding:13px}.card h2{min-height:5.6em}.details{margin-left:0}.detail-layout{grid-template-columns:1fr}.detail-photo{padding:30px 20px 15px}.detail-photo img{height:240px}.detail-copy{padding:25px}.detail-copy h2{font-size:1.5rem}}@media(max-width:370px){.gallery{grid-template-columns:1fr}.card h2{min-height:0}.photo-button{height:234px}}
.cart-open{cursor:pointer;background:transparent;color:white;font-family:inherit;font-weight:600;font-size:1rem}.cart-open:hover{background:#ffffff18}.order-controls{margin-top:24px;display:grid;grid-template-columns:1fr 1.2fr 90px;gap:12px}.order-controls label,.order-body label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.9rem}.order-controls input,.order-controls select,.order-body input,.order-body textarea{font:inherit;min-width:0;width:100%;padding:10px;border:1px solid #b6c7bf;border-radius:5px;background:white;color:#142b23}.primary{font:inherit;background:#0e593e;color:white;border:0;border-radius:5px;padding:12px 20px;cursor:pointer;font-weight:bold}.primary:hover{background:#083e2a}.primary:disabled{opacity:.5;cursor:not-allowed}.order-controls .primary,.order-controls p{grid-column:1/-1}.order-controls p{margin:0;font-size:.875rem}.surcharge{color:#6d4c11;background:#fff8e7;border-left:3px solid #c9a75e;padding:10px 12px;font-size:.9rem;line-height:1.5}details{margin-top:24px;border-top:1px solid #dce5df;padding-top:15px}summary{cursor:pointer;font-weight:600}#order-dialog{width:min(760px,calc(100% - 24px))}.order-body{padding:35px}.order-body h2{font: bold 1.8rem Georgia,serif;margin:5px 0 22px}.order-body form{display:grid;gap:16px}.order-line{border-bottom:1px solid #dbe5de;display:grid;grid-template-columns:75px 1fr 70px;gap:12px;padding:16px 0;align-items:start}.order-line img{width:75px;height:85px;object-fit:contain}.order-line h3{font-size:1rem;margin:0 0 4px}.order-line p{margin:0;font-size:.875rem}.remove-item{border:0;background:none;color:#8a2525;cursor:pointer;text-decoration:underline;font:inherit;font-size:.875rem;padding:7px 0}.line-quantity{width:65px;padding:6px;font:inherit}.small{font-size:.875rem;color:#53675c;margin:0}#submit-error{color:#922727;margin:0}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#0d392b;color:white;border-radius:5px;box-shadow:0 4px 20px #0003;z-index:5}.confirmation{max-width:700px;margin:70px auto;background:white;padding:35px;border-top:5px solid #0d392b}input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #be8f31;outline-offset:2px}@media(max-width:720px){.cart-open{display:block;padding:8px 10px;margin-left:auto;font-size:.875rem}.masthead{flex-wrap:wrap}.order-controls{grid-template-columns:1fr 1fr}.order-controls label:last-of-type{grid-column:1/-1}.order-body{padding:26px 20px}.order-line{grid-template-columns:55px 1fr 65px}.order-line img{width:55px;height:70px}}

/* Submission confirmation: keep it readable on phones and in print. */
.confirmation{max-width:760px;margin:28px auto 50px;background:#fff;padding:clamp(20px,5vw,36px);border:1px solid #dae2dd;border-top:5px solid #0d392b;border-radius:8px}
.confirmation h2{font:700 clamp(1.5rem,4vw,2rem) Georgia,serif;margin:6px 0 20px}
.confirmation h3{font-size:1rem;margin:16px 0 8px}
.confirmation-details{background:#f3f7f5;border:1px solid #d6e4da;padding:16px;border-radius:5px;margin:20px 0}
.confirmation-details p{margin:8px 0}
.order-items-summary{white-space:pre-line;overflow-wrap:anywhere}
.confirmation-next{border-left:4px solid #c9a75e;background:#fff8e7;padding:12px 16px;margin:20px 0}
.confirmation a{color:#0e593e;text-decoration:underline;text-underline-offset:3px}


/* Verified school Venmo profile: QR and direct link, usable on desktop and phones. */
.venmo-payment{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;margin:16px 0}
.venmo-payment img{display:block;width:205px;height:205px;max-width:100%;background:white;padding:8px;border:1px solid #d1ded4;object-fit:contain}
.venmo-payment>div{min-width:180px;flex:1}
.venmo-payment p{margin:0 0 12px}
.venmo-payment a{overflow-wrap:anywhere}
@media(max-width:540px){.venmo-payment{flex-direction:column;align-items:center}.venmo-payment img{width:230px;height:230px}.venmo-payment>div{min-width:0;width:100%}}

/* Keep the crew crest compact on phones without squeezing the cart/title. */
@media(max-width:720px){.crew-icon{width:44px;height:44px}}
