@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/CormorantGaramond-400i.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/CormorantGaramond-500.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/Jost-300.woff2) format('woff2')}
@font-face{font-family:'Jost';font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Jost-400.woff2) format('woff2')}
:root{--cream:#FAF8F5;--sand:#F3ECE3;--sand2:#EFE6DC;--line:#E3D5C5;--esp:#3D2E22;--mokka:#8A5E48;--rose:#B4846C;--light:#EFE6DC;--muted:#CBB8A6}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--cream);color:var(--esp);font-family:'Jost',system-ui,sans-serif;font-weight:300;font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--esp)}a:hover{color:var(--mokka)}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;margin:0;line-height:1.08}
p{margin:0}
.wrap{max-width:1248px;margin:0 auto;padding:0 48px}
.kicker{font-size:14px;letter-spacing:4px;text-transform:uppercase;color:var(--mokka);font-weight:400}
.serif-i{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:400}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:0 36px;border-radius:999px;background:var(--esp);color:var(--cream);text-decoration:none;font-size:15px;letter-spacing:1.5px;text-transform:uppercase;font-weight:400;transition:background .2s}
.btn:hover{background:#5A4636;color:var(--cream)}
.btn-light{background:var(--cream);color:var(--esp)}.btn-light:hover{background:var(--sand2);color:var(--esp)}
.link{font-size:15px;letter-spacing:2px;text-transform:uppercase;font-weight:400}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,248,245,.95);backdrop-filter:blur(8px);border-bottom:1px solid #EAE1D6}
.site-header .wrap{height:100px;display:flex;align-items:center;justify-content:space-between}
.logo img{height:72px;width:auto}
.nav{display:flex;align-items:center;gap:36px}
.nav a{text-decoration:none;font-size:14px;letter-spacing:1.5px;text-transform:uppercase;font-weight:400}
.nav .btn{min-height:48px;padding:0 24px;font-size:14px}
.menu-btn{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;align-items:center;justify-content:center}

/* hero */
.hero{padding:100px 0 110px}
.hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hero-text{display:flex;flex-direction:column;gap:30px}
.hero h1{font-size:clamp(46px,6vw,84px);line-height:1.02}
.hero p.lead{font-size:21px;max-width:540px}
.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap}
.hero-actions .serif-i{font-size:24px}
.arch{position:relative;aspect-ratio:4/5;max-height:600px;margin-left:auto;width:100%}
.arch::before{content:"";position:absolute;left:40px;top:40px;right:0;bottom:0;background:var(--sand2);border-radius:300px 300px 12px 12px}
.arch img{position:absolute;left:0;top:0;width:calc(100% - 40px);height:calc(100% - 40px);object-fit:cover;object-position:center 25%;border-radius:300px 300px 12px 12px}

/* sections */
section{padding:110px 0}
.bg-sand{background:var(--sand)}
.bg-esp{background:var(--esp);color:var(--cream)}
.center{text-align:center}
.head{display:flex;flex-direction:column;gap:16px;align-items:center;margin-bottom:60px}
.head h2{font-size:clamp(38px,4.5vw,64px);text-align:center}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:var(--cream);padding:40px;border-radius:12px;font-family:'Cormorant Garamond',Georgia,serif;font-size:30px;line-height:1.3;font-weight:500}
.turn{margin-top:60px;text-align:center;display:flex;flex-direction:column;gap:10px}
.turn .serif-i{font-size:34px}
.turn strong{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:clamp(32px,3.4vw,48px);line-height:1.15}

.split{display:grid;grid-template-columns:1fr 1fr;gap:96px;align-items:center}
.stack{display:flex;flex-direction:column;gap:26px}
.bg-esp .kicker{color:#D8C0A8}
.bg-esp h2{font-size:clamp(40px,4.3vw,60px)}
.bg-esp p{color:var(--light);font-size:19px}
.guide-img{width:440px;max-width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;margin:0 auto}
.small{font-size:14px;color:var(--muted)}

.photo{width:100%;height:620px;object-fit:cover;object-position:center 40%;border-radius:12px}
.split h2{font-size:clamp(36px,4vw,56px)}
.quote{font-size:30px;line-height:1.3}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.step .num{font-family:'Cormorant Garamond',Georgia,serif;font-size:72px;color:var(--rose);line-height:1}
.step h3{font-size:36px;margin:14px 0}

.offer{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;background:var(--sand);border-radius:16px;padding:72px}
.offer img{width:100%;height:560px;object-fit:cover;object-position:center 20%;border-radius:8px}
.price{font-family:'Cormorant Garamond',Georgia,serif;font-size:44px;font-weight:500}

.books{display:grid;grid-template-columns:repeat(2,1fr);gap:48px}
.book{display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:start}
.book img{width:180px;border-radius:4px;box-shadow:0 18px 40px rgba(61,46,34,.15)}
.book h3{font-size:32px;margin-bottom:6px}
.book .serif-i{font-size:20px;color:var(--mokka)}
.book p{font-size:17px;margin:14px 0 20px}

/* footer */
.site-footer{background:var(--esp);color:var(--light);padding:72px 0 48px;text-align:center}
.site-footer img{height:200px;width:auto;margin:0 auto 32px}
.site-footer nav{display:flex;gap:36px;justify-content:center;flex-wrap:wrap;margin-bottom:36px}
.site-footer nav a{color:var(--light);text-decoration:none;font-size:14px;letter-spacing:2px;text-transform:uppercase;font-weight:400}
.site-footer nav a:hover{color:#fff}
.site-footer p{font-size:14px;color:var(--muted);border-top:1px solid #5A4636;padding-top:28px;max-width:900px;margin:0 auto}

/* legal & subpages */
.page{padding:90px 0 110px}
.page .wrap{max-width:820px}
.page h1{font-size:clamp(42px,5vw,64px);margin:12px 0 40px}
.page h2{font-size:30px;margin:44px 0 12px}
.page p{margin:0 0 16px}
.page .intro{font-family:'Cormorant Garamond',Georgia,serif;font-size:34px;font-weight:500;line-height:1.25;margin-bottom:28px}
.page .photo{height:520px;margin:10px 0 44px}
.page .end{font-family:'Cormorant Garamond',Georgia,serif;font-size:32px;font-style:italic;margin-top:30px}

/* responsive */
@media (max-width:900px){
  body{font-size:17px}
  .wrap{padding:0 24px}
  .site-header .wrap{height:76px}
  .logo img{height:54px}
  .menu-btn{display:flex}
  .nav{display:none;position:absolute;top:76px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:stretch;gap:0;padding:12px 24px 24px;border-bottom:1px solid #EAE1D6}
  .nav.open{display:flex}
  .nav a{padding:16px 0;border-bottom:1px solid #EFE6DC}
  .nav .btn{margin-top:16px;border:0;padding:0 24px}
  section{padding:56px 0}
  .hero{padding:32px 0 56px}
  .hero .wrap,.split,.offer{grid-template-columns:1fr;gap:28px}
  .hero .arch{order:-1;max-height:420px;aspect-ratio:auto;height:400px}
  .arch::before{left:22px;top:22px;border-radius:190px 190px 10px 10px}
  .arch img{width:calc(100% - 22px);height:calc(100% - 22px);border-radius:190px 190px 10px 10px}
  .hero-text{gap:22px}
  .hero-actions{flex-direction:column;align-items:stretch;gap:18px;text-align:center}
  .hero-actions .btn{width:100%}
  .head{margin-bottom:32px}
  .cards{grid-template-columns:1fr;gap:12px}
  .card{padding:24px;font-size:25px}
  .turn{margin-top:32px}
  .turn .serif-i{font-size:26px}
  .photo{height:420px}
  .steps{grid-template-columns:1fr;gap:36px}
  .step .num{font-size:52px}.step h3{font-size:30px}
  .offer{padding:24px}
  .offer img{height:400px}
  .offer .btn,.bg-esp .btn{width:100%}
  .guide-img{width:280px}
  .books{grid-template-columns:1fr}
  .book{grid-template-columns:120px 1fr;gap:20px}
  .book img{width:120px}
  .site-footer img{height:150px}
  .page{padding:48px 0 64px}
  .page .intro{font-size:28px}
  .page .photo{height:380px}
}
.split>*,.offer>*,.hero .wrap>*{min-width:0}
.stack .btn{align-self:flex-start}
@media (max-width:900px){.stack .btn{align-self:stretch}.guide-img{width:280px;height:280px}}
