:root{--cream:#f8efe5;--cream2:#fbf5ed;--brown:#735945;--taupe:#a9846c;--line:#c9aa96;--text:#725844;--white:#fffaf4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--cream2);font-family:Arial,Helvetica,sans-serif}.site-header{height:130px;display:flex;align-items:center;padding:18px 5.2% 10px;background:linear-gradient(90deg,#f8eee3,#fbf5ed);position:relative;z-index:5}.brand{width:36%;min-width:420px}.brand img{display:block;width:100%;max-width:540px;height:110px;object-fit:contain;object-position:left center}.nav{margin-left:auto;display:flex;gap:34px;align-items:center}.nav a{color:#765e4d;text-decoration:none;font-size:14px;padding:12px 0;border-bottom:1px solid transparent}.nav a:hover,.nav a.active{border-bottom-color:#8d6c55}.menu-btn{display:none;margin-left:auto;border:0;background:none;font-size:26px;color:var(--brown)}.hero{min-height:calc(100vh - 130px);display:grid;grid-template-columns:55% 45%;background:linear-gradient(90deg,#f9f0e6 0%,#fbf5ed 60%,#f4e6d8 100%);overflow:hidden}.hero-copy{padding:15vh 3vw 8vh 8.8vw;position:relative;z-index:2}.eyebrow,.kicker{font-size:15px;line-height:1.7;letter-spacing:.33em;color:#8b6c58;margin:0 0 25px}.hero h1,.section h2,.contact-section h2{font-family:Georgia,'Times New Roman',serif;font-weight:400}.hero h1{font-size:clamp(48px,4.3vw,72px);line-height:1.03;letter-spacing:-.035em;margin:0 0 34px;color:#745844}.lead{font-size:18px;line-height:1.6;margin:0 0 34px;color:#8a6954}.cta{display:inline-flex;gap:18px;align-items:center;background:#a17d66;color:white;text-decoration:none;border-radius:30px;padding:18px 30px;font-size:14px;letter-spacing:.12em;transition:.2s}.cta:hover{transform:translateY(-2px);background:#8f6d58}.hero-art{background-image:linear-gradient(90deg,#fbf5ed00 0%,#fbf5ed22 8%,transparent 20%),url('assets/hero-decor.jpg');background-size:cover;background-position:center right;filter:saturate(.85);min-height:100%}.section{padding:100px 9%;background:#fbf6ef}.section.alt{background:#f3e6da}.section-inner{max-width:1050px;margin:auto}.section h2,.contact-section h2{font-size:50px;margin:0 0 24px}.section p{font-size:18px;line-height:1.8;max-width:820px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.cards article{padding:34px;background:#fffaf4;border:1px solid #e5d2c3;border-radius:18px}.cards h3{font-family:Georgia,serif;font-weight:400;font-size:24px;margin-top:0}.muted{opacity:.8}details{max-width:820px;border-top:1px solid #d6bdaa;padding:20px 0}details:last-child{border-bottom:1px solid #d6bdaa}summary{cursor:pointer;font-family:Georgia,serif;font-size:20px}.contact-section{padding:100px 9%;background:#806451;color:#fff8f0}.contact-inner{max-width:1100px;margin:auto}.contact-section .kicker{color:#e5d1c1}.contact-intro{font-size:18px;opacity:.9;margin-bottom:40px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.contact-item{display:flex;align-items:center;gap:18px;padding:22px;border:1px solid #b79a86;border-radius:16px;color:#fff8f0;text-decoration:none;min-width:0}.contact-item span:last-child{overflow-wrap:anywhere}.contact-item small{display:block;letter-spacing:.18em;font-size:10px;margin-bottom:7px;opacity:.75}.icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center}.icon svg{width:28px;height:28px;display:block;fill:#fff8f0}.instagram svg{width:29px;height:29px}footer{padding:45px 9%;background:#f5e9dd;text-align:center}footer img{width:330px;max-width:80%;height:100px;object-fit:contain}footer p{font-size:12px;letter-spacing:.08em}.section,.contact-section{scroll-margin-top:90px}@media(max-width:1050px){.site-header{height:100px;padding:10px 5%}.brand{min-width:0;width:310px}.brand img{height:82px}.menu-btn{display:block}.nav{display:none;position:absolute;top:100px;left:0;right:0;background:#fbf5ed;padding:20px 6%;flex-direction:column;align-items:flex-start;gap:4px;box-shadow:0 12px 25px #6b4f3622}.nav.open{display:flex}.hero{min-height:calc(100vh - 100px);grid-template-columns:1fr}.hero-copy{padding:90px 8% 90px;background:linear-gradient(90deg,#f9f0e6ee 0%,#f9f0e6d9 58%,#f9f0e677 100%)}.hero-art{position:absolute;inset:100px 0 0 35%;z-index:0}.hero h1{font-size:clamp(44px,7vw,65px)}.cards{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}}@media(max-width:620px){.brand{width:245px}.hero-copy{padding:70px 7%}.hero h1{font-size:43px}.lead{font-size:16px}.lead br{display:none}.hero-art{left:20%;opacity:.55}.section,.contact-section{padding:75px 7%}.section h2,.contact-section h2{font-size:40px}.contact-item{font-size:14px}.eyebrow{font-size:12px}.contact-grid{gap:12px}}

/* Mobile compatibility fixes — iOS Safari / Android Chrome */
html,body{width:100%;max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}
img,svg{max-width:100%}
@media(max-width:1050px){
  .site-header{width:100%;min-height:88px;height:auto;padding:max(10px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));}
  .brand{width:min(68vw,310px);max-width:310px;flex:0 1 auto}
  .brand img{width:100%;height:auto;max-height:78px;object-fit:contain}
  .menu-btn{flex:0 0 48px;width:48px;height:48px;padding:0;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .nav{top:100%;width:100%;max-height:calc(100dvh - 88px);overflow-y:auto;-webkit-overflow-scrolling:touch;z-index:20}
  .nav a{width:100%;padding:14px 0;font-size:16px}
  .hero{position:relative;display:block;min-height:calc(100svh - 88px);isolation:isolate;background:#f9f0e6}
  .hero-art{position:absolute;inset:0;left:0;z-index:-2;min-height:0;background-position:62% center;opacity:.55}
  .hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(249,240,230,.98) 0%,rgba(249,240,230,.94) 48%,rgba(249,240,230,.58) 100%)}
  .hero-copy{width:100%;min-height:calc(100svh - 88px);padding:clamp(64px,10vh,100px) 8% 72px;background:none;display:flex;flex-direction:column;justify-content:center}
  .hero h1{font-size:clamp(42px,7vw,64px);overflow-wrap:normal}
}
@media(max-width:620px){
  .site-header{min-height:78px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px}
  .brand{width:min(70vw,255px)}
  .brand img{max-height:62px}
  .nav{max-height:calc(100dvh - 78px)}
  .hero{min-height:calc(100svh - 78px)}
  .hero-copy{min-height:calc(100svh - 78px);padding:52px 7% 58px;justify-content:center}
  .hero-art{background-position:66% center;opacity:.42}
  .hero:after{background:linear-gradient(90deg,rgba(249,240,230,.99) 0%,rgba(249,240,230,.96) 60%,rgba(249,240,230,.72) 100%)}
  .hero h1{font-size:clamp(38px,11.2vw,48px);line-height:1.06;margin-bottom:24px;letter-spacing:-.03em}
  .hero h1 br{display:none}
  .eyebrow,.kicker{letter-spacing:.22em;line-height:1.55}
  .cta{width:fit-content;max-width:100%;padding:16px 22px;font-size:12px;line-height:1.3}
  .section,.contact-section{padding-left:max(7%,env(safe-area-inset-left));padding-right:max(7%,env(safe-area-inset-right))}
  .section h2,.contact-section h2{font-size:clamp(34px,9vw,40px);line-height:1.08}
  .section p,.contact-intro{font-size:16px;line-height:1.7}
  .cards article{padding:26px 22px}
  .contact-item{width:100%;padding:18px 15px;gap:13px}
  .contact-item span:last-child{min-width:0;font-size:13px;line-height:1.4;word-break:break-word}
  footer{padding-bottom:max(45px,env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .brand{width:220px}
  .hero-copy{padding-left:6%;padding-right:6%}
  .hero h1{font-size:37px}
  .contact-item{padding:16px 12px}
  .icon{width:38px;height:38px;flex-basis:38px}
}
