:root{--ink:#0b0b0a;--paper:#f4f0e8;--warm:#e8e2d8;--line:rgba(11,11,10,.22);--serif:"Prata",Georgia,serif;--sans:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.035em}
.button{display:inline-flex;min-height:55px;align-items:center;justify-content:center;padding:13px 22px;text-align:center;border:1px solid transparent;font:700 .76rem/1.35 var(--sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:transform .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px)}
.button-dark{background:var(--ink);color:var(--paper)}
.button-cream{background:var(--paper);color:var(--ink)}
.site-header{height:96px;display:flex;justify-content:space-between;align-items:center;padding:0 4.5vw;border-bottom:1px solid var(--ink)}
.brand,.footer-brand{display:block;width:160px;flex:none}
.brand img,.footer-brand img{width:100%;height:auto}
.header-right{display:flex;align-items:center;gap:38px;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.header-right a{border-bottom:1px solid var(--ink);padding-bottom:4px}
.hero{display:grid;grid-template-columns:49% 51%;min-height:720px}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:75px 5vw 45px}
.hero h1{font-size:clamp(3.1rem,4.65vw,5.8rem);line-height:1.06;margin:22px 0 30px}
.hero h1 em{font-weight:400}
.hero-lead{max-width:570px;font-size:1.08rem;line-height:1.75}
.hero-actions{display:flex;align-items:center;gap:28px;margin:20px 0 54px}
.text-link{font-size:.8rem;border-bottom:1px solid var(--line);padding-bottom:4px}
.hero-offer{display:flex;gap:20px;align-items:center;border-top:1px solid var(--ink);padding-top:16px;width:100%;max-width:520px}
.hero-offer strong{font-family:var(--serif);font-size:2.25rem;font-weight:400;white-space:nowrap}
.hero-offer span{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;line-height:1.6}
.hero-image{position:relative;margin:0;min-height:700px;background:#1b1b1a;overflow:hidden}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.hero-image figcaption{position:absolute;bottom:0;right:0;padding:17px 22px;background:var(--paper);font-size:.67rem;letter-spacing:.13em;text-transform:uppercase}
.intro{padding:115px 6vw 0}
.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:10vw;align-items:end;margin:25px 0 75px}
.intro h2,.section-heading h2,.gallery h2,.package h2,.inquiry h2{font-size:clamp(3rem,4.65vw,5.7rem);line-height:1.04;margin:0}
.intro-grid p{font-size:1.08rem;line-height:1.8;max-width:510px;margin:0}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.benefit-grid article{min-height:295px;padding:25px 25px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column}
.benefit-grid article:last-child{border-right:0}
.benefit-grid span{color:#777168;font-size:.72rem}
.benefit-grid h3{font-size:1.45rem;line-height:1.3;margin:auto 0 10px}
.benefit-grid p{font-size:.85rem;line-height:1.7;margin:0;color:#55504a}
.prints{background:var(--ink);color:var(--paper);padding:115px 6vw 95px}
.section-heading{display:grid;grid-template-columns:1fr .65fr;gap:8vw;align-items:end;margin-bottom:55px}
.section-heading h2{margin-top:24px}
.section-heading>p{max-width:470px;line-height:1.75;color:#d0cbc3;margin:0}
.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw}
.print-grid figure{margin:0;min-width:0}
.print-card{position:relative;aspect-ratio:3/2;background:#fff;color:var(--ink);padding:10px;display:flex;flex-direction:column;box-shadow:0 12px 35px rgba(0,0,0,.28);overflow:hidden}
.print-card > img{width:100%;min-height:0;flex:1;object-fit:cover;object-position:center 35%;filter:contrast(1.08)}
.print-card > .sample-logo{position:absolute;z-index:1;display:block;width:15%;height:auto;min-height:0;max-width:none;flex:none;object-fit:contain;filter:none}
.sample-logo-left{top:7%;left:7%}
.print-card > .sample-logo-center{top:5%;left:43%;width:11%}
.print-grid figcaption{font-size:.68rem;text-transform:uppercase;letter-spacing:.11em;margin-top:18px;color:#cbc7c0}
.gallery{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center;padding:125px 6vw;background:var(--warm)}
.gallery h2{margin:23px 0 35px}
.gallery-copy p:not(.eyebrow){max-width:450px;font-size:1.02rem;line-height:1.8}
.gallery-preview{margin:0;min-width:0}
.gallery-device{border:2px solid #232323;border-radius:27px;padding:16px;background:#111;box-shadow:0 35px 60px rgba(25,20,14,.19)}
.gallery-screen{min-height:485px;background:#f7f4ed;padding:26px 27px 30px;text-align:center;overflow:hidden}
.gallery-top{display:flex;justify-content:space-between;border-bottom:1px solid #d5d0c8;padding-bottom:13px;font-size:.53rem;font-weight:700;letter-spacing:.12em}
.gallery-title{padding:25px 0 28px}
.gallery-crest{display:block;width:60px;height:67px;object-fit:contain;margin:0 auto}
.gallery-title p{font-size:.55rem;letter-spacing:.16em;margin:14px 0 3px}
.gallery-title h3{font-size:clamp(1.6rem,2.7vw,2.7rem);line-height:1.25;margin:0 0 6px}
.gallery-title small{font-size:.55rem;letter-spacing:.15em}
.gallery-images{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.gallery-images img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:grayscale(1) contrast(1.08)}
.gallery-preview figcaption{font-size:.67rem;text-transform:uppercase;letter-spacing:.12em;margin-top:18px}
.package{background:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding:120px 7vw}
.package-heading h2{margin:25px 0 30px}
.package-heading>p:last-child{max-width:480px;font-size:1.05rem;line-height:1.8}
.package-card{background:var(--ink);color:var(--paper);padding:43px 45px}
.package-price{display:flex;align-items:end;gap:25px;border-bottom:1px solid #6e6b66;padding-bottom:26px}
.package-price span{font:4.4rem/1 var(--serif)}
.package-price small{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;padding-bottom:7px}
.package-card ul{list-style:none;padding:0;margin:24px 0 35px}
.package-card li{padding:10px 0;border-bottom:1px solid #514f4b;font-size:.88rem}
.package-card li strong{font-weight:700}
.package-card .button{width:100%}
.inquiry{background:var(--ink);color:var(--paper);padding:115px 7vw;display:grid;grid-template-columns:.75fr 1.25fr;gap:10vw}
.inquiry h2{margin:24px 0 26px}
.inquiry-copy>p:not(.eyebrow){line-height:1.8;max-width:370px}
.inquiry-copy>a{font-size:.85rem;border-bottom:1px solid var(--paper);display:inline-block;margin-top:20px;padding-bottom:3px}
.inquiry form{border-top:1px solid #6e6b66;padding-top:25px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}
label{display:flex;flex-direction:column;gap:7px;margin-bottom:19px;font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
input,select,textarea{width:100%;border:0;border-bottom:1px solid #aaa69e;background:transparent;color:var(--paper);padding:11px 2px;border-radius:0;outline:none;font-size:1rem;letter-spacing:normal;text-transform:none;font-weight:400}
input:focus,select:focus,textarea:focus{border-bottom-color:var(--paper);box-shadow:0 1px 0 var(--paper)}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(95%) sepia(9%) saturate(259%) hue-rotate(349deg) brightness(102%) contrast(91%);cursor:pointer}
select option{background:var(--paper);color:var(--ink)}
textarea{resize:vertical}
textarea::placeholder{color:#a7a29a}
.inquiry button{margin-top:10px}
.inquiry button:disabled{opacity:.6;cursor:wait}
.form-message{border:1px solid var(--paper);padding:16px;margin-top:20px;font-size:.88rem}
.form-message.is-error{border-color:#d9a9a4}
.form-message a{text-decoration:underline}
footer{display:grid;grid-template-columns:180px 1fr auto;gap:30px;align-items:center;padding:35px 4.5vw;font-size:.7rem}
footer p{margin:0;text-align:center}
footer small{color:#706b63;text-align:right;font-size:.63rem}
@media(max-width:1000px){.hero,.gallery,.package,.inquiry{grid-template-columns:1fr}.hero-image{min-height:560px}.hero-copy{padding:75px 6vw}.intro-grid{gap:5vw}.gallery{gap:60px}.package{gap:50px}.package-card{max-width:640px}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-grid article:nth-child(2){border-right:0}.benefit-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:650px){.site-header{height:82px}.brand{width:130px}.header-right span{display:none}.header-right a{max-width:155px;text-align:right;font-size:.62rem}.hero h1,.intro h2,.section-heading h2,.gallery h2,.package h2,.inquiry h2{font-size:clamp(2.65rem,12vw,3.6rem)}.hero-copy{padding:65px 6vw 45px}.hero-actions{align-items:stretch;flex-direction:column;gap:18px;margin-bottom:35px;width:100%}.hero-actions .text-link{align-self:flex-start}.hero-image{min-height:440px}.hero-image img{object-position:65% center}.hero-image figcaption{left:0;text-align:center}.intro,.prints,.gallery,.package,.inquiry{padding:85px 6vw}.intro-grid,.section-heading,.print-grid{grid-template-columns:1fr}.intro-grid{gap:30px;margin-bottom:55px}.benefit-grid{grid-template-columns:1fr}.benefit-grid article{min-height:185px;border-right:0;border-bottom:1px solid var(--line)}.benefit-grid article:last-child{border-bottom:0}.benefit-grid h3{margin-top:26px}.section-heading{gap:22px}.print-grid{gap:55px}.print-card{padding:6px}.print-brand{min-height:55px;gap:8px}.print-monogram{width:30px;height:30px;font-size:.75rem}.print-brand strong{font-size:.68rem}.print-brand small{font-size:.43rem;letter-spacing:.06em}.gallery-device{border-radius:19px;padding:9px}.gallery-screen{min-height:0;padding:14px}.gallery-top{font-size:.36rem;gap:8px}.gallery-title{padding:18px 0}.gallery-title h3{font-size:1.5rem}.gallery-images{gap:5px}.package-card{padding:30px 24px}.package-price{display:block}.package-price span{font-size:3.5rem}.package-price small{display:block;margin-top:8px}.field-row{grid-template-columns:1fr;gap:0}.inquiry button{width:100%}footer{grid-template-columns:1fr;text-align:left}footer p,footer small{text-align:left}.footer-brand{width:155px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
@media(max-width:650px){.print-brand .club-crest{width:33px;height:38px}.print-brand strong{font-size:.68rem}}
