:root {
  --ink: #0c0c0c;
  --paper: #eeece7;
  --warm: #c8b58b;
  --muted: #9a9994;
  --line: rgba(12,12,12,.16);
  --dark-line: rgba(255,255,255,.16);
  --lime: #e5ff49;
  --serif: "Space Grotesk", sans-serif;
  --sans: "Manrope", Arial, sans-serif;
  --mono: "DM Mono", monospace;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 15px; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
.page-noise { pointer-events: none; position: fixed; inset: 0; z-index: 10; opacity: .11; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E"); mix-blend-mode: multiply; }
.topbar { height: 84px; display: flex; align-items: center; padding: 0 clamp(20px, 4.1vw, 68px); background: var(--paper); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.brand { display: inline-flex; align-items: center; gap: 10px; font: 700 15px/12px var(--serif); text-transform: uppercase; letter-spacing: -.7px; }
.brand img { width: 40px; height: 40px; border-radius: 50%; mix-blend-mode: multiply; object-fit: cover; }
.main-nav { position: absolute; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: clamp(22px, 3vw, 48px); }
.main-nav a, .account-link, .language-switch { font: 600 11px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; }
.main-nav a { position: relative; padding: 10px 0; }
.main-nav a::after { content: ""; height: 1px; background: var(--ink); position: absolute; left: 0; right: 0; bottom: 4px; transform: scaleX(0); transform-origin: right; transition: transform .25s; }
.main-nav a:hover::after, .main-nav a.is-current::after { transform: scaleX(1); transform-origin: left; }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 25px; }
.language-switch { display: flex; align-items: center; gap: 6px; color: #aaa; }
.language-switch button { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; }
.language-switch button.is-active { color: var(--ink); }
.account-link { display: flex; align-items: center; gap: 7px; }
.account-icon { font: 19px/12px Arial; }
.menu-toggle { display: none; margin-left: auto; background: transparent; border: 0; padding: 8px; }
.menu-toggle span { width: 23px; height: 1px; background: var(--ink); display: block; margin: 5px; }
.view { display: none; }
.view.is-active { display: block; animation: reveal .38s ease both; }
@keyframes reveal { from { opacity: .35; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.hero { min-height: min(720px, calc(100vh - 84px)); background: var(--ink); color: white; display: grid; grid-template-columns: minmax(0, .97fr) minmax(440px, 1.03fr); position: relative; overflow: hidden; }
.hero-copy { padding: clamp(66px, 9vw, 150px) clamp(20px, 8.2vw, 137px) 55px clamp(20px, 8.2vw, 137px); z-index: 2; display: flex; flex-direction: column; align-items: flex-start; }
.eyebrow { font: 500 10px/1.4 var(--mono); letter-spacing: .1em; margin: 0 0 22px; text-transform: uppercase; }
.hero .eyebrow, .final-cta .eyebrow { color: var(--lime); }
h1,h2,h3,p { margin-top: 0; }
h1, h2 { font-family: var(--serif); letter-spacing: -.075em; font-weight: 600; }
.hero h1 { font-size: clamp(52px, 5.5vw, 92px); line-height: .91; margin: 0; max-width: 620px; }
em { font-weight: 500; font-style: italic; }
.hero-text { color: #c4c4c1; max-width: 390px; line-height: 1.75; margin: 32px 0 34px; font-size: 14px; }
.hero-actions { display: flex; align-items: center; gap: 29px; }
.button { border: 0; min-height: 53px; padding: 0 19px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; font: 700 11px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; transition: transform .22s, background .22s, color .22s; }
.button:hover { transform: translateY(-3px); }
.button b { font: 600 18px/1 var(--sans); }
.button-primary { color: var(--ink); background: var(--lime); }
.button-dark { background: var(--ink); color: white; margin-top: 10px; }
.button-light { background: var(--paper); color: var(--ink); }
.text-link { font: 600 11px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 12px; }
.text-link b { font: 500 18px/1 var(--sans); transition: transform .2s; }
.text-link:hover b { transform: translate(3px, -3px); }
.hero-meta { margin-top: auto; padding-top: 42px; font: 400 10px var(--mono); color: #a9a9a6; text-transform: uppercase; display: flex; align-items: center; gap: 10px; letter-spacing: .03em; }
.hero-meta i { width: 3px; height: 3px; background: var(--lime); border-radius: 50%; }
.hero-visual { background: #0b0b0a; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.hero-visual::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ink), transparent 24%), linear-gradient(0deg, rgba(0,0,0,.6), transparent 50%); z-index: 1; }
.hero-visual img { width: 105%; max-width: 900px; mix-blend-mode: screen; filter: contrast(1.09) brightness(.95); position: relative; z-index: 2; }
.hero-glow { position: absolute; width: 50%; aspect-ratio: 1; border-radius: 50%; background: rgba(220,193,132,.25); filter: blur(65px); }
.hero-stamp { position: absolute; bottom: 56px; right: clamp(25px, 7vw, 100px); z-index: 3; width: 108px; height: 108px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; display: flex; justify-content: center; align-items: center; }
.hero-stamp::before { content: ""; position: absolute; inset: 8px; border: 1px dashed rgba(255,255,255,.45); border-radius: 50%; }
.hero-stamp span { font: 600 26px/1 var(--serif); letter-spacing: -.12em; }
.hero-stamp small { position: absolute; transform: rotate(-90deg); left: -35px; bottom: 39px; white-space: nowrap; font: 500 7px var(--mono); letter-spacing: .16em; }
.hero-index { position: absolute; bottom: 55px; left: 24px; z-index: 3; display: none; align-items: center; gap: 10px; font: 10px var(--mono); color: #999; }
.hero-index i { width: 45px; height: 1px; background: #777; }
.section { padding: clamp(76px, 11vw, 164px) clamp(20px, 8.2vw, 137px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 58px; }
.section h2, .product-copy h2, .faq-section h2 { font-size: clamp(39px, 4.5vw, 65px); line-height: .94; margin: 0; }
.dark-link { padding-bottom: 5px; border-bottom: 1px solid var(--ink); }
.project-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px; }
.project-card { min-width: 0; cursor: pointer; }
.project-image { position: relative; aspect-ratio: 1.13; overflow: hidden; background: #d8d5cc; }
.project-image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s cubic-bezier(.2,.8,.2,1); }
.project-card:hover img { transform: scale(1.055); }
.project-open { width: 44px; height: 44px; position: absolute; right: 12px; top: 12px; border: 0; background: var(--lime); color: var(--ink); border-radius: 50%; font-size: 20px; transform: scale(0); transition: transform .2s; }
.project-card:hover .project-open { transform: scale(1); }
.project-info { border-top: 1px solid var(--ink); display: flex; justify-content: space-between; gap: 15px; padding: 12px 1px; }
.project-info h3 { margin: 0; font: 600 13px/1.1 var(--serif); letter-spacing: -.03em; }
.project-info p, .project-info span { font: 10px/1.2 var(--mono); margin: 3px 0 0; color: #595853; }
.project-info > span { color: var(--ink); white-space: nowrap; }
.process-strip { background: var(--warm); padding: clamp(58px, 7vw, 105px) clamp(20px, 8.2vw, 137px); }
.process-strip .eyebrow { margin-bottom: 42px; }
.process-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.process-steps article { border-top: 1px solid var(--ink); padding-top: 12px; }
.process-steps span { font: 10px var(--mono); }
.process-steps h3 { font: 600 20px/1.05 var(--serif); letter-spacing: -.06em; margin: 46px 0 12px; max-width: 145px; }
.process-steps p { font-size: 12px; line-height: 1.6; margin: 0; max-width: 180px; }
.product-section { background: #d9d6d0; display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; }
.product-copy > p:not(.eyebrow) { max-width: 380px; font-size: 14px; line-height: 1.7; margin: 29px 0 34px; }
.product-options { align-self: end; }
.size-card { display: grid; grid-template-columns: 30px 1fr auto; gap: 15px; align-items: center; padding: 28px 0; border-top: 1px solid var(--ink); }
.size-card > span { font: 10px var(--mono); }
.size-card h3 { margin: 0 0 7px; font: 600 33px/1 var(--serif); letter-spacing: -.075em; }
.size-card h3 small, .size-card strong small { font: 500 12px var(--mono); letter-spacing: 0; }
.size-card p { margin: 0; max-width: 210px; font-size: 12px; line-height: 1.5; }
.size-card strong { font: 500 42px/1 var(--serif); letter-spacing: -.08em; }
.size-card-featured { background: var(--ink); color: white; padding: 30px 20px; margin: 0 -20px; }
.delivery-note { margin: 20px 0 0; color: #575651; font: 10px/1.6 var(--mono); max-width: 330px; }
.photo-guide { background: var(--ink); color: white; padding: clamp(60px, 7vw, 105px) clamp(20px, 8.2vw, 137px); display: grid; grid-template-columns: .35fr 1.1fr 1fr auto; gap: 30px; align-items: end; }
.guide-number { color: var(--lime); font: 10px var(--mono); align-self: start; }
.photo-guide h2 { margin: 0; font: 600 clamp(36px, 3.7vw, 57px)/.93 var(--serif); letter-spacing: -.07em; }
.photo-guide ul { margin: 0; padding: 0; list-style: none; }
.photo-guide li { border-top: 1px solid var(--dark-line); padding: 13px 0; color: #d5d5d2; max-width: 300px; font-size: 12px; line-height: 1.5; }
.circle-arrow { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid white; border-radius: 50%; font: 26px/1 var(--sans); transition: background .2s, color .2s; }
.circle-arrow:hover { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.faq-section { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; }
.faq-list { border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { cursor: pointer; list-style: none; padding: 22px 0; font: 600 15px/1.3 var(--serif); display: flex; justify-content: space-between; gap: 18px; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { font: 500 23px/15px var(--sans); transition: transform .2s; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list p { font-size: 13px; max-width: 500px; line-height: 1.7; color: #4c4b47; padding: 0 30px 23px 0; margin: 0; }
.final-cta { background: var(--ink); color: white; padding: clamp(76px, 10vw, 150px) 20px; text-align: center; }
.final-cta h2 { font-size: clamp(45px, 6.3vw, 92px); line-height: .91; margin: 0 auto 38px; }
.page-view { min-height: calc(100vh - 84px); padding: clamp(55px, 8vw, 115px) clamp(20px, 8.2vw, 137px); }
.page-hero { display: grid; grid-template-columns: 1fr 1fr; column-gap: 9vw; align-items: end; padding-bottom: 68px; }
.page-hero .eyebrow { grid-column: 1/-1; }
.page-hero h1, .order-intro h1, .contact-copy h1 { font-size: clamp(54px, 6vw, 90px); line-height: .9; margin: 0; }
.page-hero > p { max-width: 365px; font-size: 14px; line-height: 1.75; margin: 0 0 5px; }
.gallery-toolbar { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); padding: 13px 0; margin-bottom: 25px; display: flex; justify-content: space-between; font: 10px var(--mono); text-transform: uppercase; }
.gallery-toolbar span:last-child { color: #66645f; }
.gallery-grid { grid-template-columns: repeat(3, 1fr); }
.gallery-grid .project-image { aspect-ratio: 1.15; }
.order-view.is-active { background: #d9d6d0; display: grid; grid-template-columns: minmax(250px,.82fr) minmax(500px,1.18fr); gap: clamp(40px, 10vw, 150px); align-items: start; }
.order-intro { position: sticky; top: 120px; }
.order-intro > p:not(.eyebrow) { font-size: 14px; line-height: 1.75; max-width: 330px; margin: 30px 0 60px; }
.order-aside { border-top: 1px solid var(--ink); padding-top: 10px; display: flex; align-items: start; gap: 42px; max-width: 330px; font: 10px var(--mono); }
.order-aside p { font: 12px/1.45 var(--sans); margin: 0; }
.order-form { background: var(--paper); padding: clamp(24px, 4vw, 62px); }
fieldset { margin: 0; border: 0; padding: 0 0 34px; margin-bottom: 32px; border-bottom: 1px solid var(--line); }
fieldset:last-of-type { margin-bottom: 22px; }
legend { font: 600 17px/1 var(--serif); letter-spacing: -.04em; padding: 0; margin-bottom: 23px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
label { display: block; }
label > span, .full-label > span { display: block; font: 500 10px/1 var(--mono); text-transform: uppercase; letter-spacing: .04em; margin-bottom: 8px; }
input, select, textarea { display: block; width: 100%; background: transparent; border: 0; border-bottom: 1px solid #aaa8a1; border-radius: 0; color: var(--ink); outline: none; padding: 10px 0; font-size: 13px; transition: border-color .2s; }
input:focus, select:focus, textarea:focus { border-color: var(--ink); }
.password-field { position: relative; }
.password-field input { padding-right: 44px; }
.password-toggle { position: absolute; right: 0; bottom: 0; width: 38px; height: 38px; display: grid; place-items: center; padding: 0; color: #6e6b63; background: transparent; border: 0; transition: color .2s, background .2s; }
.password-toggle:hover { color: var(--ink); }
.password-toggle:focus-visible { color: var(--ink); outline: 1px solid var(--ink); outline-offset: -4px; }
.password-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
textarea { resize: vertical; min-height: 86px; }
::placeholder { color: #aaa8a1; }
.field-help, .form-footnote { color: #65635c; font-size: 11px; line-height: 1.6; margin: 12px 0 0; }
.upload-zone { min-height: 187px; border: 1px dashed #9e9b91; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 25px; text-align: center; cursor: pointer; transition: background .2s, border-color .2s; }
.upload-zone:hover { border-color: var(--ink); background: #e5e2db; }
.upload-zone input { position: absolute; width: 1px; opacity: 0; pointer-events: none; }
.upload-mark { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--ink); border-radius: 50%; font-size: 21px; margin-bottom: 11px; }
.upload-zone strong { font: 600 14px/1 var(--serif); }
.upload-zone small { max-width: 330px; color: #5d5b54; font-size: 10px; line-height: 1.55; margin-top: 8px; }
.file-list { margin-top: 10px; font: 10px/1.5 var(--mono); color: #615f57; }
.file-list span { display: inline-block; background: #dedbd3; margin: 2px 4px 0 0; padding: 4px 7px; }
.full-label { margin-top: 21px; }
.consents { padding-bottom: 0; border: 0; }
.check { display: grid; grid-template-columns: 15px 1fr; gap: 10px; align-items: start; margin-bottom: 13px; cursor: pointer; }
.check input { position: absolute; opacity: 0; width: 1px; }
.check > span { width: 15px; height: 15px; border: 1px solid var(--ink); margin: 0; position: relative; }
.check input:checked + span::after { content: ""; position: absolute; inset: 3px; background: var(--ink); }
.check em { font: 11px/1.5 var(--sans); font-style: normal; }
.submit-order { width: 100%; }
.account-view { background: #d9d6d0; }
.account-wrap { max-width: 1100px; margin: 0 auto; }
.account-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; border-bottom: 1px solid var(--ink); padding-bottom: 28px; margin-bottom: 30px; }
.account-head h1, .auth-card h1, .admin-head h1 { font: 600 clamp(38px, 4.3vw, 62px)/.92 var(--serif); letter-spacing: -.075em; margin: 0; }
.account-head p { margin: 0; font: 12px/1.5 var(--sans); }
.text-button { color: var(--ink); border: 0; background: none; padding: 0; font: 600 10px var(--mono); text-transform: uppercase; border-bottom: 1px solid var(--ink); }
.auth-card { max-width: 570px; background: var(--paper); padding: clamp(30px, 5vw, 65px); }
.auth-card h1 { margin-bottom: 24px; }
.auth-card p { font-size: 13px; line-height: 1.6; margin: 0 0 28px; max-width: 370px; }
.login-form { display: grid; gap: 20px; }
.auth-tip { border-top: 1px solid var(--line); margin-top: 29px; padding-top: 16px; font: 10px/1.6 var(--mono); color: #65635c; }
.orders-list { display: grid; gap: 14px; }
.order-card { background: var(--paper); padding: 22px; display: grid; grid-template-columns: 1fr auto; gap: 20px; border-left: 4px solid var(--ink); }
.order-card.is-ready { border-left-color: #7c9f28; }
.order-card.is-paid, .order-card.is-shipped { border-left-color: #b69751; }
.order-card h3 { font: 600 20px/1 var(--serif); letter-spacing: -.055em; margin: 0 0 8px; }
.order-card p { margin: 0; color: #5d5c57; font: 11px/1.6 var(--mono); }
.order-card aside { text-align: right; }
.status-pill { display: inline-flex; font: 500 9px/1 var(--mono); letter-spacing: .04em; text-transform: uppercase; border: 1px solid var(--ink); padding: 6px 8px; margin-bottom: 13px; }
.order-card .button { min-height: 39px; padding: 0 12px; font-size: 9px; }
.order-detail { background: var(--paper); padding: clamp(25px, 4vw, 55px); }
.back-link { border: 0; background: none; padding: 0; font: 500 10px var(--mono); text-transform: uppercase; margin-bottom: 28px; }
.order-detail-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 50px; }
.order-detail h1 { font: 600 clamp(35px,4vw,57px)/.92 var(--serif); margin: 0 0 12px; letter-spacing: -.07em; }
.detail-meta { font: 10px/1.8 var(--mono); color: #625f56; text-transform: uppercase; }
.status-timeline { border-top: 1px solid var(--ink); margin-top: 35px; }
.timeline-step { display: flex; gap: 13px; border-bottom: 1px solid var(--line); padding: 12px 0; font-size: 12px; }
.timeline-step b { width: 13px; height: 13px; border: 1px solid var(--ink); border-radius: 50%; flex: 0 0 auto; margin-top: 1px; }
.timeline-step.is-done b { background: var(--ink); }
.preview-box { background: #171717; color: white; padding: 14px; position: relative; overflow: hidden; }
.preview-box img { width: 100%; display: block; opacity: .82; }
.preview-watermark { position: absolute; inset: 0; display: grid; place-items: center; font: 600 34px/.9 var(--serif); text-align: center; transform: rotate(-25deg); color: rgba(255,255,255,.78); pointer-events: none; }
.preview-caption { font: 10px/1.5 var(--mono); margin: 13px 0 25px; color: #65635c; }
.decision-buttons { display: grid; gap: 10px; }
.button-outline { background: transparent; border: 1px solid var(--ink); color: var(--ink); }
.correction-area { margin-top: 18px; display: none; }
.correction-area.is-open { display: block; }
.checkout-card { background: var(--ink); color: white; padding: 24px; }
.checkout-card h3 { font: 600 25px/1 var(--serif); letter-spacing: -.06em; margin: 0 0 10px; }
.checkout-card p { font: 11px/1.6 var(--sans); color: #d2d2cc; }
.checkout-card label > span { color: #c6c6c0; }
.checkout-card input, .checkout-card select { color: white; border-color: #666; }
.checkout-card option { color: var(--ink); }
.checkout-card .button { margin-top: 20px; width: 100%; }
.notice-box { background: var(--lime); color: var(--ink); padding: 22px; margin-top: 24px; font-size: 12px; line-height: 1.55; }
.empty-orders { border: 1px dashed #aaa59b; padding: 35px; text-align: center; font-size: 13px; color: #625f56; }
.contact-view.is-active { background: var(--ink); color: white; display: grid; grid-template-columns: 1fr 1fr; gap: 10vw; align-items: start; }
.contact-copy .eyebrow { color: var(--lime); }
.contact-copy > p:not(.eyebrow) { max-width: 350px; color: #cacac5; font-size: 14px; line-height: 1.75; margin: 29px 0 50px; }
.contact-links { border-top: 1px solid var(--dark-line); max-width: 480px; }
.contact-links a { display: block; padding: 15px 0; border-bottom: 1px solid var(--dark-line); }
.contact-links small { display: block; font: 9px var(--mono); color: #aaa; margin-bottom: 5px; text-transform: uppercase; }
.contact-links strong { font: 500 clamp(16px, 1.8vw, 23px)/1 var(--serif); letter-spacing: -.04em; }
.contact-links b { color: var(--lime); float: right; font: 20px/12px var(--sans); }
.office-hours { margin-top: 30px !important; font: 10px/1.7 var(--mono) !important; color: #aaa !important; text-transform: uppercase; }
.contact-form { background: #262624; padding: clamp(26px, 4vw, 56px); }
.contact-form .eyebrow { color: var(--lime); }
.contact-form h2 { font: 600 46px/.9 var(--serif); letter-spacing: -.07em; margin: 0 0 40px; }
.contact-form label { margin-bottom: 25px; }
.contact-form label > span { color: #aaa; }
.contact-form input, .contact-form textarea { color: white; border-color: #6d6d69; }
.contact-form .button { width: 100%; }
.social-links { margin-top: 50px; padding-top: 16px; border-top: 1px solid #555550; display: flex; gap: 25px; font: 10px var(--mono); text-transform: uppercase; }
.admin-view { background: #d9d6d0; }
.admin-head { display: flex; align-items: end; justify-content: space-between; gap: 25px; border-bottom: 1px solid var(--ink); padding-bottom: 28px; margin-bottom: 30px; }
.admin-head p { margin: 8px 0 0; font: 11px/1.5 var(--mono); }
.admin-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--ink); border: 1px solid var(--ink); margin-bottom: 25px; }
.admin-stats article { background: var(--paper); padding: 18px; }
.admin-stats span { font: 9px var(--mono); text-transform: uppercase; color: #686660; }
.admin-stats strong { font: 500 34px/1 var(--serif); letter-spacing: -.07em; display: block; margin-top: 10px; }
.admin-table { width: 100%; border-collapse: collapse; background: var(--paper); font-size: 12px; }
.admin-table th { text-align: left; padding: 13px; border-bottom: 1px solid var(--ink); font: 500 9px var(--mono); text-transform: uppercase; }
.admin-table td { padding: 13px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.admin-table select { padding: 4px 25px 4px 0; font-size: 11px; }
.admin-table .text-button { white-space: nowrap; }
footer { background: #111; color: white; display: grid; grid-template-columns: 1.1fr 1fr 1.2fr; gap: 30px; padding: 35px clamp(20px, 4.1vw, 68px); align-items: center; }
.footer-brand img { mix-blend-mode: normal; }
footer > p { margin: 0; color: #aaa; font-size: 12px; }
footer > div:not(.footer-legal) { display: flex; gap: 20px; font: 10px var(--mono); text-transform: uppercase; justify-content: end; }
.footer-legal { grid-column: 1/-1; padding-top: 20px; border-top: 1px solid #3e3e3e; font: 9px var(--mono); color: #8c8c89; display: flex; justify-content: flex-start; text-align: left; text-transform: uppercase; }
.project-dialog { max-width: min(840px, calc(100vw - 28px)); width: 100%; border: 0; padding: 0; background: var(--paper); color: var(--ink); box-shadow: 0 20px 100px rgba(0,0,0,.5); }
.project-dialog::backdrop { background: rgba(0,0,0,.74); backdrop-filter: blur(5px); }
.close-dialog { position: absolute; right: 14px; top: 14px; z-index: 2; width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--lime); font: 28px/1 var(--sans); }
.dialog-project { display: grid; grid-template-columns: 1fr .78fr; }
.dialog-project img { width: 100%; min-height: 400px; object-fit: cover; display: block; }
.dialog-info { padding: 50px 35px; display: flex; flex-direction: column; }
.dialog-info h2 { font: 600 46px/.92 var(--serif); letter-spacing: -.07em; margin: 0 0 18px; }
.dialog-info p { font-size: 13px; line-height: 1.65; color: #56544d; }
.dialog-info dl { margin: auto 0 0; border-top: 1px solid var(--line); }
.dialog-info dl div { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 10px 0; font: 10px var(--mono); }
#toast { position: fixed; z-index: 100; bottom: 22px; left: 50%; transform: translate(-50%, 25px); background: var(--lime); color: var(--ink); padding: 13px 20px; font: 600 11px/1.4 var(--mono); text-transform: uppercase; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; box-shadow: 0 8px 25px rgba(0,0,0,.2); max-width: calc(100vw - 30px); text-align: center; }
#toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }.hero-copy { padding-bottom: 55px; }.hero-visual { min-height: 360px; }.hero-visual::before { background: linear-gradient(0deg, #0c0c0c, transparent 40%); }.hero-visual img { width: min(720px, 105%); }.hero-stamp { bottom: 30px; right: 25px; }.process-steps { grid-template-columns: 1fr 1fr; row-gap: 45px; }.product-section, .faq-section, .contact-view { grid-template-columns: 1fr; gap: 55px; }.photo-guide { grid-template-columns: .2fr 1fr; }.photo-guide ul { grid-column: 2; }.circle-arrow { grid-column: 2; }.order-view { grid-template-columns: 1fr; }.order-intro { position: static; }.order-intro > p { margin-bottom: 30px; }.order-aside { margin-bottom: 0; }.page-hero { grid-template-columns: 1fr; gap: 22px; }.page-hero h1 { max-width: 600px; }.order-detail-grid { grid-template-columns: 1fr; }.admin-table { display: block; overflow-x: auto; }.dialog-project { grid-template-columns: 1fr; }.dialog-project img { min-height: auto; max-height: 55vh; }.dialog-info { padding: 35px; }
}
@media (max-width: 680px) {
  .topbar { height: 67px; padding: 0 18px; }.brand img { width: 34px; height: 34px; }.brand { font-size: 13px; line-height: 10px; }.main-nav { display: none; position: fixed; transform: none; left: 0; right: 0; top: 67px; background: var(--paper); padding: 19px; border-bottom: 1px solid var(--line); flex-direction: column; align-items: flex-start; gap: 9px; }.main-nav.is-open { display: flex; }.main-nav a { font-size: 13px; padding: 10px 0; }.menu-toggle { display: block; }.top-actions { gap: 14px; }.account-link span:last-child { display: none; }.hero { min-height: calc(100svh - 67px); }.hero-copy { padding: 64px 23px 32px; }.hero h1 { font-size: clamp(49px, 14vw, 66px); }.hero-visual { min-height: 270px; }.hero-stamp { width: 76px; height: 76px; }.hero-stamp span { font-size: 20px; }.hero-stamp small { display: none; }.hero-meta { font-size: 8px; gap: 7px; }.section { padding: 70px 20px; }.section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 35px; }.section h2, .product-copy h2, .faq-section h2 { font-size: 42px; }.project-grid { grid-template-columns: 1fr 1fr; gap: 14px; }.project-info h3 { font-size: 12px; }.project-info p { font-size: 8px; }.project-info > span { font-size: 8px; }.project-open { display: none; }.process-strip { padding: 60px 20px; }.process-steps { gap: 36px 19px; }.process-steps h3 { font-size: 18px; margin-top: 27px; }.process-steps p { font-size: 11px; }.product-section { gap: 50px; }.size-card { grid-template-columns: 20px 1fr auto; padding: 22px 0; gap: 8px; }.size-card h3 { font-size: 26px; }.size-card strong { font-size: 32px; }.size-card p { font-size: 10px; }.photo-guide { grid-template-columns: 27px 1fr; gap: 23px; padding: 57px 20px; }.photo-guide h2 { font-size: 38px; }.photo-guide ul { grid-column: 1/-1; }.photo-guide li { max-width: none; font-size: 11px; }.circle-arrow { grid-column: 2; }.faq-section { gap: 43px; }.final-cta h2 { font-size: 50px; }.page-view { min-height: calc(100svh - 67px); padding: 60px 20px; }.page-hero { padding-bottom: 40px; }.page-hero h1, .order-intro h1, .contact-copy h1 { font-size: 53px; }.gallery-toolbar { font-size: 8px; }.gallery-toolbar span:last-child { display: none; }.order-form { margin: 0 -20px; padding: 28px 20px; }.form-grid { grid-template-columns: 1fr; gap: 18px; }.order-aside { margin-top: 38px; }.account-head, .admin-head { align-items: flex-start; flex-direction: column; }.order-card { grid-template-columns: 1fr; }.order-card aside { text-align: left; }.contact-view { margin: 0; padding: 60px 20px; }.contact-form { margin: 0 -20px; padding: 34px 20px; }.admin-stats { grid-template-columns: 1fr 1fr; }footer { grid-template-columns: 1fr; padding: 33px 20px; gap: 20px; } footer > div:not(.footer-legal) { justify-content: flex-start; flex-wrap: wrap; }.footer-legal { flex-wrap: wrap; }.admin-access { margin-left: 0; }.auth-card { margin: 0 -20px; }.preview-watermark { font-size: 27px; }
}
