/* Calvin Art House — shared site styles */
:root{
  --paper:#f4eee3;
  --paper-2:#ebe2d2;
  --ink:#2f261e;
  --ink-soft:#5e5044;
  --gold:#a8834f;
  --gold-soft:#d9c4a0;
  --night:#211c18;
  --night-ink:#ece2d0;
  --line:#dccfb9;
  --max:760px;
  --wide:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.7 "Cormorant Garamond",Georgia,serif;font-feature-settings:"liga","kern"}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{color:var(--gold)}

/* header / footer */
.site-header{border-bottom:1px solid var(--line);padding:18px 16px;text-align:center}
.site-header a{text-decoration:none}
.brand{font:500 28px/1 "Cormorant Garamond",Georgia,serif;letter-spacing:.02em}
.tagline{display:block;margin-top:6px;font:500 10px/1 Montserrat,Arial,sans-serif;letter-spacing:.32em;color:var(--gold);text-transform:uppercase}
.site-nav{margin-top:12px;font:500 12px/1 Montserrat,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.site-nav a{margin:0 10px;text-decoration:none;color:var(--ink-soft)}
.site-footer{margin-top:72px;border-top:1px solid var(--line);padding:32px 16px 48px;text-align:center;font:400 13px/1.7 Montserrat,Arial,sans-serif;color:var(--ink-soft)}

/* article */
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.wide{max-width:var(--wide);margin:0 auto;padding:0 16px}
.eyebrow{font:600 11px/1 Montserrat,Arial,sans-serif;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:48px 0 14px}
h1{font:500 clamp(34px,6vw,54px)/1.08 "Cormorant Garamond",Georgia,serif;margin:0 0 18px;letter-spacing:-.005em}
h2{font:500 clamp(28px,4.4vw,38px)/1.15 "Cormorant Garamond",Georgia,serif;margin:64px 0 14px}
h3{font:600 15px/1.3 Montserrat,Arial,sans-serif;letter-spacing:.04em;margin:32px 0 8px}
p{margin:0 0 18px}
.lede{font-size:21px;color:var(--ink-soft)}
.meta{font:400 13px/1.5 Montserrat,Arial,sans-serif;color:var(--ink-soft);margin-bottom:28px}
.hero{margin:28px auto 8px}
.hero img{width:100%;border-radius:2px}
figcaption{font:400 13px/1.5 Montserrat,Arial,sans-serif;color:var(--ink-soft);margin-top:8px;text-align:center}
ul,ol{padding-left:22px;margin:0 0 20px}
li{margin-bottom:8px}
strong{font-weight:600}

/* dark look section */
.look{padding:8px 0 40px}
.look--dark{background:var(--night);color:var(--night-ink);margin-top:56px;padding-top:24px}
.look--dark a{color:var(--night-ink)}
.look--dark .print-card span{color:#c9bca6}
.look--dark h2{margin-top:32px}

/* bundle callout */
.bundle{display:grid;grid-template-columns:1fr;gap:20px;align-items:center;border:1px solid var(--line);background:var(--paper-2);padding:20px;margin:28px 0}
.look--dark .bundle{background:#2c2520;border-color:#4a3f35}
.bundle h3{margin:0 0 6px;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.bundle p{margin:0 0 14px}
.btn{display:inline-block;background:var(--ink);color:var(--paper)!important;text-decoration:none;font:600 12px/1 Montserrat,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:15px 22px;border-radius:2px}
.btn:hover{background:var(--gold)}
.look--dark .btn{background:var(--gold-soft);color:var(--night)!important}
@media(min-width:720px){.bundle{grid-template-columns:260px 1fr;padding:24px}}

/* print grid */
.print-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:24px 0;padding:0;list-style:none}
@media(min-width:720px){.print-grid{grid-template-columns:repeat(4,1fr)}}
.print-card{margin:0}
.print-card a{text-decoration:none;display:block}
.print-card .frame{aspect-ratio:1/1;display:flex;align-items:flex-end;justify-content:center}
.print-card .frame img{width:auto;height:auto;max-width:100%;max-height:100%;background:#fff9ef;padding:8%;border:6px solid #3a2f25;box-shadow:0 10px 22px rgba(0,0,0,.18)}
.look--dark .print-card .frame img{border-color:#0f0c0a;box-shadow:0 10px 24px rgba(0,0,0,.5)}
.print-card strong{display:block;margin-top:12px;font:600 13px/1.35 Montserrat,Arial,sans-serif}
.print-card span{display:block;font:400 13.5px/1.45 "Cormorant Garamond",Georgia,serif;color:var(--ink-soft);font-size:16px}
.tip{border-left:3px solid var(--gold);padding:4px 0 4px 16px;margin:24px 0}

/* tables */
.table-wrap{overflow-x:auto;margin:20px 0 28px}
table{border-collapse:collapse;width:100%;font:400 14px/1.5 Montserrat,Arial,sans-serif}
th,td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}

/* layout diagram */
.diagram{margin:24px 0 8px;background:#fffaf2;border:1px solid var(--line);padding:16px}
.diagram svg{width:100%;height:auto;display:block}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--gold);font-family:Montserrat,Arial,sans-serif}
.faq details[open] summary::after{content:"–"}
.faq p{margin:10px 0 0}

.closing{background:var(--paper-2);border:1px solid var(--line);padding:28px 20px;margin-top:56px;text-align:center}
.closing .btn{margin:6px}

/* free sampler signup */
.signup-box{display:grid;grid-template-columns:1fr;gap:18px;align-items:center;background:var(--night);color:var(--night-ink);padding:24px 20px;margin:32px 0}
.signup-box img{max-width:220px;margin:0 auto;border:6px solid #0f0c0a;background:#fff9ef;padding:5%}
.signup-box h3{margin:0 0 6px;color:var(--gold-soft);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.signup-box h2{margin:0 0 8px;font-size:clamp(26px,4vw,32px);color:var(--night-ink)}
.signup-box p{margin:0 0 14px;color:#d9ccb6}
form.signup{display:flex;flex-wrap:wrap;gap:10px}
form.signup input[type=email]{flex:1 1 220px;min-width:0;padding:14px 14px;border:1px solid #6b5a48;background:#fffaf2;color:var(--ink);font:400 15px/1.2 Montserrat,Arial,sans-serif;border-radius:2px}
form.signup button{flex:0 0 auto;border:0;cursor:pointer;background:var(--gold-soft);color:var(--night);font:600 12px/1 Montserrat,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:15px 20px;border-radius:2px}
form.signup button:disabled{opacity:.7;cursor:wait}
.signup-msg{flex-basis:100%;font:400 13px/1.4 Montserrat,Arial,sans-serif;color:#f0c9a0;margin:0;min-height:1em}
.signup-note{font:400 12px/1.5 Montserrat,Arial,sans-serif;color:#b5a790;margin:10px 0 0!important}
@media(min-width:720px){.signup-box{grid-template-columns:200px 1fr;padding:28px}}
