@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@1,600&display=swap');:root{--ink:#101010;--paper:#f4f1eb;--acid:#e6ff3f;--pink:#ff4f8b;--blue:#526cff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - var(--max))/2));border-bottom:1px solid #bbb6ad;position:sticky;top:0;background:#f4f1ebf0;z-index:20}.brand{text-decoration:none;font-weight:600;letter-spacing:.14em}.brand span{font-weight:400}.site-nav{display:flex;gap:28px;align-items:center}.site-nav a{text-decoration:none}.nav-cta{border:1px solid;padding:10px 17px;border-radius:100px}.menu-toggle{display:none;background:none;border:0;font:inherit}.hero{min-height:calc(100svh - 78px);max-width:var(--max);margin:auto;padding:56px 22px 72px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:6vw}.hero-copy{order:-1}.eyebrow,.section-number{font-size:12px;letter-spacing:.16em;font-weight:600}.hero h1,.section h2{font-size:clamp(48px,7vw,104px);line-height:.91;letter-spacing:-.055em;margin:22px 0 28px;font-weight:500}.hero h1 em,.section h2 em{font-family:'Playfair Display',serif}.lede{font-size:clamp(18px,2vw,24px);line-height:1.45}.actions{display:flex;gap:20px;align-items:center;margin-top:36px;flex-wrap:wrap}.button{display:inline-block;border:0;text-decoration:none;padding:15px 22px;border-radius:100px;font-weight:600}.primary{background:var(--ink);color:white}.hero-art{height:min(68vw,700px);min-height:480px;position:relative;overflow:hidden;background:#171717}.hero-monogram{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:italic 600 clamp(100px,17vw,260px) 'Playfair Display';mix-blend-mode:screen}.paint{position:absolute;border-radius:50%}.p1{width:75%;height:45%;background:var(--pink);left:-18%;top:-5%}.p2{width:70%;height:60%;background:var(--blue);right:-20%;bottom:-8%}.p3{width:45%;height:45%;background:var(--acid);right:-10%;top:20%}.section{max-width:var(--max);margin:auto;padding:120px 22px}.intro{display:grid;grid-template-columns:1fr 3fr;border-top:1px solid #aaa}.intro h2,.occasions h2,.about h2{font-size:clamp(45px,6vw,82px)}.intro p,.about p{line-height:1.65}.gallery-section{max-width:none;background:var(--ink);color:white;padding-left:max(22px,calc((100vw - var(--max))/2));padding-right:max(22px,calc((100vw - var(--max))/2))}.section-heading{display:flex;justify-content:space-between;align-items:end}.muted{color:#aaa;max-width:300px}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:300px 380px;gap:12px}.shot{display:flex;align-items:center;justify-content:center;color:#111;font-size:11px;letter-spacing:.16em}.shot-a{grid-row:span 2;background:var(--pink)}.shot-b{background:var(--acid)}.shot-c{background:#eee}.shot-d{background:var(--blue);color:white}.shot-e{background:#f3a63b}.occasion-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #aaa}.occasion-list span{padding:24px 0;border-bottom:1px solid #aaa}.pricing{display:grid;grid-template-columns:1fr 1fr;gap:9vw;background:#e7e2da;max-width:none;padding-left:max(22px,calc((100vw - var(--max))/2));padding-right:max(22px,calc((100vw - var(--max))/2))}.price-card{background:var(--acid);padding:42px}.price-card strong{font-size:clamp(56px,7vw,92px);display:block}.price-card strong small{font-size:24px}.price-card strong span{font-size:18px}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.about-mark{aspect-ratio:1;background:var(--ink);display:grid;place-items:center}.about-mark span{color:white;font:italic 600 min(22vw,260px) 'Playfair Display'}.enquiry{max-width:none;background:var(--ink);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding-left:max(22px,calc((100vw - var(--max))/2));padding-right:max(22px,calc((100vw - var(--max))/2))}form{display:flex;flex-direction:column;gap:22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:12px;color:#aaa}input,select,textarea{width:100%;margin-top:8px;background:#191919;border:1px solid #555;color:white;padding:14px;font:16px 'DM Sans'}.light-button{align-self:flex-start;background:white}.form-note{font-size:12px;color:#999}footer{max-width:var(--max);margin:auto;padding:40px 22px 60px;display:flex;justify-content:space-between;border-top:1px solid #aaa;font-size:12px}@media(max-width:760px){.site-header{height:66px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--paper);padding:22px;flex-direction:column;align-items:flex-start}.site-nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:26px}.hero-copy{order:0}.hero-art{height:110vw;min-height:380px;order:-1}.hero h1{font-size:16vw}.section{padding-top:82px;padding-bottom:82px}.intro,.pricing,.about,.enquiry{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 260px}.shot-a{grid-row:span 1;grid-column:span 2}.occasion-list{grid-template-columns:1fr 1fr}.field-row{grid-template-columns:1fr}footer{flex-direction:column;gap:20px}}
/* Tori visual direction — Art Deco inspired, intentionally restrained until portfolio photos arrive */
:root{--ink:#090b0d;--paper:#f3eadb;--acid:#d6b66a;--pink:#8f2336;--blue:#1687a8}
body{background:var(--paper)}
.site-header{background:rgba(9,11,13,.96);color:#f3eadb;border-bottom:1px solid #1687a8}
.brand{font-family:'Playfair Display',serif;font-style:italic;letter-spacing:.12em}
.nav-cta{border-color:#d6b66a}
.hero-art{background:#050607;border:1px solid #1687a8}
.hero-art:before,.about-mark:before{content:"";position:absolute;inset:16px;border:1px solid rgba(214,182,106,.72);pointer-events:none;z-index:2}
.hero-monogram{color:#f3eadb;text-shadow:2px 2px 0 #1687a8}
.p1{background:#8f2336}.p2{background:#0d6680}.p3{background:#d6b66a}
.eyebrow,.section-number{color:#0d6680}
.hero h1 em,.section h2 em{color:#8f2336}
.primary{background:#090b0d;color:#f3eadb;border:1px solid #d6b66a}
.gallery-section,.enquiry{background:#090b0d}
.gallery-section .section-number,.enquiry .section-number{color:#66b9cf}
.shot{border:1px solid rgba(214,182,106,.5);background:#111!important;color:#d6b66a!important}
.shot:nth-child(odd){background:#0b2028!important}
.pricing{background:#e7dbc7}
.price-card{background:#090b0d;color:#f3eadb;border:1px solid #d6b66a}
.price-card hr{border-color:#d6b66a}
.about-mark{position:relative;background:#090b0d;border:1px solid #1687a8}
.about-mark span{color:#f3eadb;text-shadow:3px 3px 0 #8f2336}
.instagram{color:#0d6680}
.light-button{background:#d6b66a;color:#090b0d}
input,select,textarea{border-color:#6f674f}
footer{border-color:#a99879}
@media(max-width:760px){.site-nav{background:#090b0d;color:#f3eadb}.hero-art:before{inset:10px}}

/* Illustrated hero replaces the temporary TA monogram */
.hero-artwork{height:auto;min-height:0;aspect-ratio:9/11;background:#f3eadb;overflow:hidden}
.hero-artwork img{display:block;width:100%;height:100%;object-fit:cover}
.hero-artwork:before{z-index:3}
@media(max-width:760px){.hero-artwork{height:auto;min-height:0;aspect-ratio:9/11}}


/* Keep the complete hero artwork visible — no cropping */
.hero-artwork{
  height:auto;
  min-height:0;
  aspect-ratio:3 / 2;
  background:transparent;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-artwork img{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
}
@media(max-width:760px){
  .hero-artwork{
    height:auto;
    min-height:0;
    aspect-ratio:3 / 2;
  }
}


/* About Tori portrait artwork */
.about-artwork{aspect-ratio:auto;overflow:hidden;background:#090b0d}
.about-artwork img{display:block;width:100%;height:auto;object-fit:contain}
.about-artwork:before{z-index:2}

/* Keep About artwork visually balanced with its copy */
.about-artwork{width:100%;max-width:520px;justify-self:center}
@media(max-width:760px){.about-artwork{width:min(88vw,460px);margin:0 auto}}


/* Portfolio gallery */
.gallery-grid .shot{margin:0;overflow:hidden;position:relative;padding:0;background:#090b0d!important}
.gallery-grid .shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.gallery-grid .shot-c img{object-position:center}
.gallery-grid .shot-e img{object-position:center 30%}
@media(max-width:760px){
 .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 250px 270px}
 .gallery-grid .shot-a{grid-column:span 2;grid-row:span 1}
 .gallery-grid .shot-a img{object-position:center 24%}
 .gallery-grid .shot-b img{object-position:center 25%}
 .gallery-grid .shot-e img{object-position:center 25%}
}


/* Mobile gallery: override desktop spanning so photos stay inside the viewport */
@media(max-width:760px){
  .gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:12px;width:100%;overflow:hidden}
  .gallery-grid .shot,.gallery-grid .shot-a,.gallery-grid .shot-b,.gallery-grid .shot-c,.gallery-grid .shot-d,.gallery-grid .shot-e{grid-column:auto!important;grid-row:auto!important;width:100%;height:auto;aspect-ratio:4/5;min-width:0;overflow:hidden}
  .gallery-grid .shot img{width:100%;height:100%;object-fit:cover;display:block}
  .gallery-grid .shot-c{aspect-ratio:4/3}
  .gallery-grid .shot-e{aspect-ratio:4/5}
}

/* Enquiry form */
.enquiry label{display:block;line-height:1.5}
.enquiry input:focus-visible,.enquiry select:focus-visible,.enquiry textarea:focus-visible,.enquiry button:focus-visible{outline:2px solid #66b9cf;outline-offset:3px}
.enquiry textarea{resize:vertical;min-height:130px}
.enquiry .light-button{cursor:pointer;font:600 15px 'DM Sans',sans-serif}
.enquiry .light-button:disabled{opacity:.55;cursor:wait}
.form-note{line-height:1.5;max-width:55ch;margin:0}
.form-note.error{color:#ffb4b4}
.form-note.success{color:#a9e4ca}
.spam-trap{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
