@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Inter:wght@400;500;600&display=swap");
:root{--bg:#fff6fb;--ink:#1f2b2a;--muted:#365247;--gold:#d4af37;--rose:#f2b6c6;--soft:#ffffff;--green:#4f8c6b;--max:1200px;}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:"Inter",sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;letter-spacing:0.01em;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:var(--ink);transition:color 0.3s ease,border-color 0.3s ease,opacity 0.3s ease;}
img{display:block;max-width:100%;height:auto;border:1px solid #d8c3cc;}
button,input,textarea{font:inherit;color:inherit;background:none;border:none;outline:none;}
button{cursor:pointer;}
.page{min-height:100vh;display:flex;flex-direction:column;}
.site-header{position:sticky;top:0;z-index:10;background:rgba(255,218,234,0.8);backdrop-filter:blur(8px);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(212,175,55,0.35);}
.logo{font-family:"Playfair Display",serif;font-size:20px;letter-spacing:0.08em;color:var(--green);}
.nav{display:flex;gap:20px;}
.nav a{color:var(--ink);position:relative;padding-bottom:4px;}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width 0.4s ease;}
.nav a:hover::after{width:100%;}
.nav-toggle{display:none;align-items:center;justify-content:center;gap:6px;flex-direction:column;width:44px;height:38px;border:1px solid var(--gold);border-radius:4px;background:rgba(255,246,251,0.9);}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);transition:transform 0.3s ease,opacity 0.3s ease;}
body.nav-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}
body.nav-open .nav-toggle span:nth-child(2){opacity:0;}
body.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}
main{flex:1;display:flex;flex-direction:column;gap:80px;}
.hero{display:grid;grid-template-columns:1.2fr 0.8fr;align-items:stretch;min-height:70vh;}
.hero.bounded{max-width:var(--max);margin:0 auto;padding:0 20px;}
.hero.slim{min-height:60vh;}
.hero-media{position:relative;overflow:hidden;}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(110%);transition:transform 0.6s ease,filter 0.6s ease;}
.hero-media:hover img{transform:scale(1.02);}
.hero-content{padding:48px;display:flex;flex-direction:column;gap:20px;justify-content:center;background:linear-gradient(180deg,rgba(242,182,198,0.9),rgba(79,140,107,0.65));color:var(--ink);}
.hero-content.full{grid-column:span 2;text-align:center;align-items:center;}
.hero h1{font-family:"Playfair Display",serif;font-size:48px;line-height:0.95;letter-spacing:0.05em;color:var(--green);}
.eyebrow{text-transform:uppercase;letter-spacing:0.18em;font-size:12px;color:var(--gold);}
.meta{font-size:14px;color:var(--muted);}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;}
.btn{border:1px solid var(--gold);padding:12px 18px;letter-spacing:0.12em;text-transform:uppercase;font-size:12px;transition:background 0.4s ease,color 0.4s ease,opacity 0.3s ease;border-radius:4px;}
.btn.ghost{background:transparent;color:var(--green);}
.btn.ghost:hover{background:var(--gold);color:var(--ink);}
.btn.solid{background:var(--gold);color:var(--ink);}
.btn.solid:hover{opacity:0.9;}
.success-page .btn.solid{background:#fff;color:var(--ink);border-color:#fff;}
.success-page .btn.solid:hover{opacity:0.95;background:#fff;color:var(--ink);}
.success-page .nav a::after{background:#fff;}
.success-page .link-underline{border-bottom-color:#fff;}
.spread{max-width:var(--max);margin:0 auto;padding:0 20px;gap:40px;}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;}
.spread-text h2{font-family:"Playfair Display",serif;font-size:36px;line-height:1.05;letter-spacing:0.04em;margin:12px 0;color:var(--green);}
.spread-text p{color:var(--muted);}
.spread-text .btn{margin-top:14px;}
.journal .spread-text .btn{margin-top:18px;}
.collections-page .journal .spread-text .btn{margin-top:40px;}
.collections-page .spread-text .btn{margin-top:20px;}
.collections-page .hero-content{background:linear-gradient(180deg,rgba(242,182,198,0.95),rgba(79,140,107,0.75));}
.collections-page .editorial-block{background:linear-gradient(135deg,#fff,#fff6fb);border:1px solid rgba(212,175,55,0.3);transition:all 0.3s ease;}
.collections-page .editorial-block:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(240,160,190,0.25);border-color:var(--gold);}
.collections-page .editorial-block h3{color:var(--green);position:relative;padding-bottom:8px;}
.collections-page .editorial-block h3::after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background:var(--gold);}
.collections-page .spread-text h2{position:relative;padding-left:20px;}
.collections-page .spread-text h2::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--gold),var(--green));border-radius:2px;}
.collections-page .spread-text h2::before{opacity:0.6;}
.collections-page .editorial-block p{line-height:1.7;color:var(--muted);}
.collections-page .spread-media img{border-radius:8px;overflow:hidden;}
.collections-page .editorial-block > a{color:var(--green);font-weight:500;transition:color 0.3s ease;}
.collections-page .editorial-block > a:hover{color:var(--gold);}
.spread-media img{width:100%;border:1px solid #d8c3cc;box-shadow:0 18px 40px rgba(240,160,190,0.25);}
.editorial{max-width:var(--max);margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
@media (max-width:600px){.editorial{grid-template-columns:1fr;}}
.editorial-block{background:#fff;border:1px solid #d8c3cc;padding:24px;display:flex;flex-direction:column;gap:12px;min-height:220px;box-shadow:0 14px 30px rgba(240,160,190,0.16);width:100%;max-width:100%;}
.editorial-block h3{font-family:"Playfair Display",serif;font-size:24px;letter-spacing:0.03em;color:var(--green);}
.editorial-block p{color:var(--muted);}
.editorial-block > a{margin-top:auto;align-self:flex-start;}
.gallery{padding:0 20px;max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;gap:24px;}
.gallery-header h2{font-family:"Playfair Display",serif;font-size:34px;color:var(--green);}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;}
@media (max-width:600px){.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}}
@media (max-width:400px){.gallery-grid{grid-template-columns:1fr;}}
.gallery figure{position:relative;overflow:hidden;border:1px solid #d8c3cc;transition:transform 0.4s ease;box-shadow:0 12px 24px rgba(240,160,190,0.2);width:100%;max-width:100%;}
.gallery img{transition:transform 0.5s ease,filter 0.5s ease;}
.gallery figure:hover img{transform:scale(1.03);}
.gallery figcaption{position:absolute;bottom:12px;left:12px;background:rgba(255,246,251,0.92);color:var(--ink);padding:6px 10px;font-size:12px;letter-spacing:0.1em;border:1px solid var(--gold);}
.journal{padding:0 20px;max-width:var(--max);margin:0 auto;gap:40px;}
.cta{padding:0 20px 80px;}
.cta-inner{max-width:var(--max);margin:0 auto;background:linear-gradient(135deg,#f2b6c6,#fff6fb);color:var(--ink);padding:40px;display:flex;flex-direction:column;gap:16px;align-items:flex-start;border:1px solid var(--gold);}
.cta-inner h2{font-family:"Playfair Display",serif;font-size:32px;letter-spacing:0.04em;color:var(--green);}
.site-footer{background:#f2d7e5;color:var(--ink);padding:36px 24px;border-top:1px solid rgba(212,175,55,0.35);margin-top:48px;}
.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;}
@media (max-width:600px){.footer-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}}
@media (max-width:400px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid a{color:var(--ink);}
.footer-bottom{max-width:var(--max);margin:20px auto 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid rgba(31,43,42,0.08);padding-top:12px;font-size:14px;}
.legal-links{display:flex;gap:14px;flex-wrap:wrap;}
.link-underline{display:inline-block;border-bottom:1px solid var(--gold);padding-bottom:4px;}
.policy{max-width:var(--max);margin:80px auto;padding:0 20px;display:flex;flex-direction:column;gap:16px;}
.policy h1{font-family:"Playfair Display",serif;font-size:40px;color:var(--green);}
.policy h2{font-family:"Playfair Display",serif;font-size:26px;margin-top:12px;color:var(--green);}
.contact-grid{max-width:var(--max);margin:0 auto;padding:0 20px 40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;}
@media (max-width:600px){.contact-grid{grid-template-columns:1fr;}}
.contact-card{background:#fff;border:1px solid #d8c3cc;padding:32px;display:flex;flex-direction:column;gap:20px;box-shadow:0 12px 32px rgba(240,160,190,0.18);border-radius:8px;transition:transform 0.3s ease,box-shadow 0.3s ease;width:100%;max-width:100%;}
.contact-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(240,160,190,0.24);}
.contact-card h2{font-family:"Playfair Display",serif;font-size:28px;letter-spacing:0.03em;color:var(--green);margin-top:4px;}
.contact-info .contact-detail{margin-top:8px;padding-top:16px;border-top:1px solid rgba(216,195,204,0.4);}
.contact-info .contact-detail:first-of-type{border-top:none;padding-top:0;margin-top:0;}
.contact-label{font-size:11px;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold);margin-bottom:6px;font-weight:600;}
.contact-info p{color:var(--muted);line-height:1.7;}
.contact-form-card .contact-form{margin-top:8px;}
.contact-form{display:flex;flex-direction:column;gap:16px;}
.contact-form label{font-size:13px;text-transform:uppercase;letter-spacing:0.1em;color:var(--green);font-weight:500;margin-bottom:-8px;}
.contact-form input,.contact-form textarea{border:1px solid #d8c3cc;padding:14px;background:#fffafc;border-radius:4px;transition:border-color 0.3s ease,box-shadow 0.3s ease;font-size:15px;color:var(--ink);}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px rgba(212,175,55,0.15);}
.contact-form textarea{resize:vertical;min-height:120px;font-family:inherit;}
.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.6;color:var(--muted);margin-top:4px;}
.checkbox input[type="checkbox"]{margin-top:4px;width:18px;height:18px;cursor:pointer;accent-color:var(--gold);flex-shrink:0;}
.checkbox span{flex:1;}
.contact-form .btn{margin-top:8px;align-self:flex-start;}
.map-section{padding:0 20px 80px;}
.map-card{max-width:var(--max);margin:0 auto;display:flex;flex-direction:column;gap:20px;}
.map-card h2{font-family:"Playfair Display",serif;font-size:32px;letter-spacing:0.03em;color:var(--green);margin-top:4px;}
.map-wrapper{overflow:hidden;border-radius:8px;box-shadow:0 18px 40px rgba(79,140,107,0.2);border:1px solid #d8c3cc;position:relative;width:100%;height:0;padding-bottom:56.25%;}
.map-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;display:block;}
.map-note{text-align:center;color:var(--muted);font-size:14px;margin-top:8px;}
.privacy-pop{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(31,43,42,0.25);padding:20px;}
.privacy-pop.active{display:flex;}
.privacy-card{background:#fff;color:#000;padding:24px;max-width:420px;width:100%;display:flex;flex-direction:column;gap:12px;border:1px solid #d8c3cc;box-shadow:0 12px 28px rgba(240,160,190,0.2);}
@media (max-width:900px){.hero{grid-template-columns:1fr;}.hero-content{order:-1;}.hero-content.full{grid-column:auto;}.two-col{grid-template-columns:1fr;}.hero h1{font-size:38px;}.cta-inner h2{font-size:28px;}}
@media (max-width:900px){.site-header{flex-wrap:wrap;align-items:center;gap:10px;}.nav-toggle{display:flex;}.nav{display:none;flex-direction:column;width:100%;background:rgba(255,246,251,0.95);border:1px solid rgba(212,175,55,0.35);padding:12px;gap:10px;border-radius:6px;}.site-header .nav a{padding:6px 4px;}.hero-content{padding:32px;}body.nav-open .nav{display:flex;}}
@media (max-width:600px){.site-header{flex-direction:column;align-items:flex-start;gap:8px;background:#ffe9f3;}.nav-toggle{display:flex;}.nav{display:none;gap:12px;}body.nav-open .nav{display:flex;}.hero-content{padding:28px;}.spread-text h2{font-size:30px;}.gallery-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}}
@media (max-width:400px){body{font-size:15px;}.hero h1{font-size:30px;}.cta-inner{padding:24px;}.btn{width:100%;text-align:center;}.site-header{padding:12px 16px;}.logo{font-size:18px;}.hero-content{padding:20px;gap:16px;}.spread{padding:0 16px;}.editorial{padding:0 16px;gap:14px;}.editorial-block{padding:20px;min-height:200px;}.gallery{padding:0 16px;}.gallery-grid{grid-template-columns:1fr;gap:12px;}.journal{padding:0 16px;gap:32px;}.cta{padding:0 16px 60px;}.site-footer{padding:28px 16px;}.footer-grid{gap:16px;}.footer-bottom{flex-direction:column;text-align:center;gap:8px;}.legal-links{justify-content:center;}.policy{padding:0 16px;margin:60px auto;}.policy h1{font-size:32px;}.policy h2{font-size:22px;}.contact-grid{padding:0 16px 32px;grid-template-columns:1fr;gap:24px;}.contact-card{padding:24px;}.map-section{padding:0 16px 60px;}.map-card h2{font-size:28px;}.privacy-card{padding:20px;max-width:calc(100% - 32px);}}
@media (max-width:320px){body{font-size:14px;}.site-header{padding:10px 12px;gap:8px;}.logo{font-size:16px;letter-spacing:0.06em;}.nav-toggle{width:40px;height:34px;}.nav-toggle span{width:20px;}.nav{padding:10px;gap:8px;}.nav a{font-size:14px;padding:4px 2px;}.hero{min-height:50vh;}.hero.slim{min-height:45vh;}.hero-content{padding:16px;gap:12px;}.hero h1{font-size:26px;line-height:1;}.eyebrow{font-size:11px;}.meta{font-size:13px;}.btn{padding:10px 14px;font-size:11px;}.spread{padding:0 12px;gap:32px;}.spread-text h2{font-size:26px;}.spread-media img{box-shadow:0 12px 28px rgba(240,160,190,0.2);}.editorial{padding:0 12px;gap:12px;grid-template-columns:1fr;}.editorial-block{padding:16px;min-height:180px;gap:10px;}.editorial-block h3{font-size:20px;}.gallery{padding:0 12px;gap:20px;}.gallery-header h2{font-size:28px;}.gallery-grid{grid-template-columns:1fr;gap:10px;}.gallery figcaption{font-size:11px;padding:4px 8px;bottom:8px;left:8px;}.journal{padding:0 12px;gap:28px;}.cta{padding:0 12px 50px;}.cta-inner{padding:20px;gap:12px;}.cta-inner h2{font-size:24px;}.site-footer{padding:24px 12px;margin-top:40px;}.footer-grid{grid-template-columns:1fr;gap:20px;text-align:center;}.footer-bottom{padding-top:16px;font-size:13px;}.legal-links{flex-direction:column;gap:8px;align-items:center;}.policy{padding:0 12px;margin:50px auto;gap:14px;}.policy h1{font-size:28px;}.policy h2{font-size:20px;margin-top:10px;}.policy p{font-size:14px;line-height:1.6;}.contact-grid{padding:0 12px 28px;grid-template-columns:1fr;gap:20px;}.contact-card{padding:20px;gap:16px;}.contact-card h2{font-size:24px;}.contact-label{font-size:10px;}.contact-info p{font-size:14px;}.contact-form{gap:12px;}.contact-form label{font-size:12px;}.contact-form input,.contact-form textarea{padding:12px;font-size:14px;}.contact-form textarea{min-height:100px;}.checkbox{font-size:12px;}.map-section{padding:0 12px 50px;}.map-card{gap:16px;}.map-card h2{font-size:24px;}.map-note{font-size:13px;}.privacy-pop{padding:12px;}.privacy-card{padding:18px;max-width:calc(100% - 24px);gap:10px;}.privacy-card p{font-size:14px;}.main{gap:60px;}}

