.studio{--site-bg:#faf8f4;--site-ink:#282323;--site-muted:#655858;--site-line:#e2d9d3;--site-accent:#65384a;background:var(--site-bg);color:var(--site-ink)}
.site-shell{width:min(100% - 2.25rem,1150px);margin-inline:auto}
.site-header{border-bottom:1px solid var(--site-line)}
.site-header .site-shell,.site-footer .site-shell{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:67px}
.site-header .brand,.site-footer .brand{font-size:clamp(1.5rem,4.5vw,2rem)}
.site-header nav,.site-footer nav{display:flex;align-items:center;gap:clamp(.65rem,3vw,1.8rem)}
.site-header nav a,.site-footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;text-decoration:none;white-space:nowrap}
.site-header nav a:hover,.site-header nav a[aria-current=page],.site-footer nav a:hover{text-decoration:underline;text-underline-offset:.25em}
.site-hero{display:grid;gap:1.75rem;padding-block:2.25rem 2.75rem}
.site-hero h1,.site-intro h1,.site-custom h1{font-size:clamp(3.35rem,8.5vw,6.3rem);line-height:.9;letter-spacing:-.045em;margin:0 0 .25em}
.site-hero p,.site-intro p,.site-custom .custom-copy p{max-width:35ch;color:var(--site-muted)}
.site-button,.site-custom #custom-form .studio-primary{display:inline-flex;justify-content:center;align-items:center;min-height:46px;border-radius:4px;background:var(--site-accent);color:#fff7f6;padding:.65rem 1.05rem;text-decoration:none;font-weight:600}
.site-button{margin-top:1.1rem}
.site-button:hover,.site-custom #custom-form .studio-primary:hover{background:#492434}
.hero-preview{display:grid;justify-items:center;gap:.45rem;background:#ece7df;padding:1.25rem 1rem .55rem;text-decoration:none;border-radius:5px}
.hero-paper{display:block;position:relative;width:min(56%,222px);aspect-ratio:3/4;transform:rotate(-5deg);box-shadow:0 13px 25px #30242b30;transition:transform .25s ease}
.hero-preview:hover .hero-paper{transform:rotate(0)}
.hero-paper img{display:block;width:100%;height:100%;object-fit:fill}
.hero-paper-text{position:absolute;inset:24% 13%;display:grid;align-content:center;justify-items:center;text-align:center;color:#253758}
.hero-paper-text strong{font:600 clamp(1.45rem,5vw,2.6rem)/1 var(--serif);margin:.28rem 0}
.hero-paper-text small{font-size:clamp(.53rem,1.6vw,.67rem)}
.hero-preview-label{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;font-size:.86rem;font-weight:600}
.studio :is(.collection#templates,.collection#occasions){padding:1.9rem 0 2.2rem;border-top:1px solid var(--site-line)}
.studio .collection-heading{display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between;border:0;padding:0;margin:0 0 1rem;gap:.35rem .8rem}
.studio .collection-heading h2,.custom-invite h2{font-size:clamp(2.25rem,5vw,3.65rem);margin:0}
.collection-heading a,.custom-invite a,.site-intro nav a{display:inline-flex;align-items:center;gap:.35rem;min-height:44px;text-underline-offset:.25em;font-size:.86rem;font-weight:600}
.studio .template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem .8rem}
.studio .template-card{position:relative;min-width:0}
.studio .art-link{text-decoration:none}
.studio .art-link:hover h3{text-decoration:underline;text-underline-offset:.16em}
.studio .template-art{aspect-ratio:1;border-radius:4px}
.studio .template-art .mini-card{width:54%}
.studio .template-art[data-design=heirloom] .mini-card{width:63%}
.studio .art-link h3{font-size:clamp(1.35rem,4vw,2.1rem);margin:.6rem 1.15rem .3rem 0}
.studio .mini-card span{font-size:clamp(.85rem,3.6vw,1.8rem)}
.studio .mini-card small{font-size:clamp(.45rem,1.5vw,.72rem)}
.card-open{position:absolute;right:0;top:auto;translate:0 -1.5rem;font-size:.9rem}
.design-description{font-size:.86rem;color:var(--site-muted);max-width:30ch}
.studio .occasion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.occasion-card img{aspect-ratio:1;border-radius:4px}
.studio .occasion-card h3{font-size:clamp(1.15rem,3.6vw,2.15rem);overflow-wrap:anywhere}
.occasion-card:hover h3{text-decoration:underline;text-underline-offset:.15em}
.custom-invite{border-top:1px solid var(--site-line);padding-block:1.7rem}
.site-footer{background:var(--site-bg);color:var(--site-ink);border-top:1px solid var(--site-line);display:block;padding:0}
.site-intro{padding-block:2.6rem 1.6rem}
.site-intro nav{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:.5rem}
.site-custom .studio-custom{background:none;padding:2.6rem 0 3.5rem;gap:2rem}
.site-custom #custom-form :is(input,textarea){border-color:#a79198;background:#fffdf9;border-radius:4px}
.site-custom #custom-form label{font-size:.95rem}
.site-custom #custom-form small{font-size:.82rem}
.site-custom .custom-fields{grid-template-columns:1fr}
.studio :is(a,button,input,textarea):focus-visible{outline:2px solid #73334f;outline-offset:4px}
@media(min-width:740px){
  .site-hero{grid-template-columns:1fr .85fr;align-items:center;gap:3rem;padding-block:3.5rem}
  .hero-preview{padding:1.65rem}
  .studio .template-grid{gap:1.65rem}
  .studio .template-art{aspect-ratio:1.5}
  .studio.site-gallery .template-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .studio .occasion-grid{gap:1.65rem}
  .occasion-card img{aspect-ratio:1.6}
  .site-custom .studio-custom{grid-template-columns:.8fr 1fr;padding-block:4.5rem}
}
@media(prefers-reduced-motion:reduce){.hero-paper{transition:none}}
