:root{--ink:#241e1a;--paper:#f3efe7;--cream:#eae3d7;--wine:#572d35;--line:rgba(36,30,26,.23)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.top-rule{height:5px;background:var(--wine)}.site-header{height:108px;padding:0 5.3%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.brand{display:block;width:182px}.brand img,.footer-brand img{display:block;width:100%;height:auto}.desktop-nav{display:flex;gap:46px;font-size:10px;letter-spacing:.22em}.desktop-nav a,.text-link,.footer-details a{transition:opacity .25s}.desktop-nav a:hover,.text-link:hover,.footer-details a:hover{opacity:.55}.menu-toggle,.mobile-nav{display:none}.hero{min-height:min(740px,calc(100svh - 113px));position:relative;display:grid;grid-template-columns:55% 45%;align-items:center;padding:0 5.3% 72px}.hero-image{height:620px;max-height:70vh;position:relative;overflow:hidden;grid-column:1;grid-row:1}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.85)}.image-index{position:absolute;left:25px;bottom:21px;color:#fff;font-size:9px;letter-spacing:.19em;text-shadow:0 1px 4px #0008}.hero-copy{grid-column:2;grid-row:1;padding:20px 0 20px 10%;position:relative;z-index:2}.eyebrow,.section-kicker,.world-meta,.small-note,.interlude>span,.vertical-note{font-size:9px;letter-spacing:.2em;font-weight:500}.eyebrow{white-space:nowrap;display:flex;align-items:center;gap:10px}.dot{width:5px;height:5px;background:var(--wine);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2,h3,.statement-lead,.interlude p{font-family:'Italiana',Georgia,serif;font-weight:400}h1{font-size:clamp(57px,6.4vw,115px);line-height:.94;letter-spacing:-.035em;margin:45px 0 30px;transform:translateX(-4%);width:110%}h1 em,h2 em,.statement-lead em,.interlude em{font-weight:400;color:var(--wine)}.hero-copy>p{font-size:13px;line-height:1.85;max-width:305px;color:#5d5550;margin-bottom:40px}.text-link{display:inline-flex;align-items:center;gap:42px;border-bottom:1px solid var(--ink);padding-bottom:10px;font-size:10px;letter-spacing:.2em;font-weight:500}.text-link span{font-size:19px;line-height:.6;font-weight:300}.vertical-note{position:absolute;right:14px;bottom:135px;writing-mode:vertical-rl;color:#847b73}.statement{padding:160px 12% 170px;min-height:600px}.section-kicker{display:flex;align-items:center;gap:36px}.section-kicker span:first-child{color:var(--wine)}.statement-lead{font-size:clamp(49px,6.2vw,94px);line-height:1.03;max-width:1010px;margin:86px 0 55px}.statement-bottom{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;max-width:830px;margin-left:auto}.asterisk{font-size:53px;color:var(--wine);line-height:1}.statement-bottom p{max-width:450px;line-height:2;color:#635a54;font-size:13px}.worlds{background:#e7dfd3;padding:115px 9% 145px}.worlds-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:65px}.worlds h2{font-size:clamp(52px,6.2vw,91px);line-height:1.03;letter-spacing:-.015em}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:5.5%}.world-card.gifts{padding-top:110px}.world-photo{overflow:hidden;height:580px;background:#cbc0b0}.world-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.16,1,.3,1);filter:saturate(.8)}.world-card:hover .world-photo img{transform:scale(1.035)}.events .world-photo img{object-position:40%}.world-meta{display:flex;justify-content:space-between;margin-top:29px;padding-bottom:17px;border-bottom:1px solid var(--line)}.world-card h3{font-size:clamp(64px,7vw,104px);margin:22px 0 8px;line-height:1}.world-card p{font-size:13px;line-height:1.85;max-width:365px;color:#655b52;min-height:80px}.world-card .text-link{margin-top:20px}.interlude{background:var(--wine);color:#f4eee8;text-align:center;padding:135px 20px 145px}.interlude>span{color:#d7b7b7}.interlude p{font-size:clamp(51px,6.8vw,105px);line-height:1.04;margin:40px auto;max-width:900px}.interlude em{color:#dec2bf}.interlude .interlude-mark{font-size:43px}.contact{padding:140px 9% 155px}.contact-content{display:grid;grid-template-columns:1fr 310px;gap:45px;align-items:end;margin-top:65px}.contact h2{font-size:clamp(55px,7.2vw,112px);line-height:.97;margin-bottom:30px}.contact p{font-size:13px;line-height:1.9;color:#645b54;max-width:390px}.contact-action{padding-bottom:18px;display:flex;flex-direction:column;gap:37px}.enquire-button{background:var(--wine);color:#fff;padding:25px 26px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.16em;transition:background .25s}.enquire-button:hover{background:#392027}.enquire-button span{font-size:20px}.small-note{color:#8b7e74;line-height:2.2}footer{border-top:1px solid var(--line);padding:70px 5.3% 35px}.footer-brand{display:block;width:235px;margin-bottom:60px}.footer-details{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.17em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:900px){.site-header{height:87px;padding:0 6%}.brand{width:155px}.desktop-nav{display:none}.menu-toggle{display:flex;flex-direction:column;gap:6px;background:none;border:0;padding:12px;cursor:pointer}.menu-toggle span{width:25px;height:1px;background:var(--ink)}.mobile-nav{display:none;position:absolute;z-index:20;top:92px;left:0;right:0;background:var(--paper);padding:26px 6% 36px;box-shadow:0 18px 30px #241e1a16;flex-direction:column;gap:28px;font-family:'Italiana',serif;font-size:31px}.mobile-nav.open{display:flex}.hero{grid-template-columns:1fr;padding:0 0 85px;min-height:0}.hero-image{grid-column:1;grid-row:1;height:57vh;min-height:380px;max-height:650px}.hero-copy{grid-column:1;grid-row:2;padding:50px 7% 0}.eyebrow{font-size:8px;white-space:normal}h1{transform:none;width:100%;font-size:clamp(58px,11.8vw,100px);margin:30px 0 25px}.hero-copy>p{max-width:410px}.vertical-note{display:none}.statement{padding:100px 7% 120px;min-height:0}.statement-lead{font-size:clamp(51px,8vw,75px);margin:65px 0 44px}.worlds{padding:85px 7% 110px}.worlds-top{display:block}.worlds h2{margin:45px 0 0}.world-photo{height:430px}.world-card.gifts{padding-top:85px}.contact{padding:100px 7%}.contact-content{grid-template-columns:1fr}.contact-action{max-width:370px}.interlude{padding:105px 6%}footer{padding:60px 7% 32px}}
@media(max-width:620px){.hero-image{height:50vh;min-height:320px}.image-index{left:15px;bottom:15px;font-size:7px}.hero-copy{padding-top:40px}.hero-copy>p{font-size:12px}.statement-bottom{display:block}.asterisk{display:block;margin-bottom:28px}.statement-bottom p{font-size:12px}.world-grid{grid-template-columns:1fr;gap:90px}.world-card.gifts{padding-top:0}.world-photo{height:auto;aspect-ratio:4/4.5}.worlds h2{font-size:62px}.world-card h3{font-size:75px}.world-card p{min-height:0}.interlude p{font-size:53px}.contact h2{font-size:65px}.footer-details{flex-direction:column;gap:16px}.footer-brand{width:200px}.statement-lead{font-size:57px}}

/* Second art-direction pass: quieter rhythm, restrained wine, consistent drawn arrows. */
.hero{padding-bottom:28px;min-height:min(690px,calc(100svh - 113px))}
.hero-image{height:590px}
.statement{padding-top:108px;padding-bottom:115px;min-height:0}
.statement-lead{margin-top:65px;margin-bottom:39px}
.statement-line{width:74px;height:1px;background:var(--wine);margin-top:12px;flex:0 0 auto}
.worlds{padding-top:90px;padding-bottom:106px}
.worlds-top{margin-bottom:50px}
.world-card.gifts{padding-top:82px}
.interlude{background:#e2d8d1;color:var(--ink);padding:90px 20px 94px}
.interlude>span{color:var(--wine)}
.interlude p{margin:32px auto;font-size:clamp(49px,5.8vw,84px)}
.interlude em{color:var(--wine)}
.interlude-rule{display:block;width:62px;height:1px;background:var(--wine);margin:0 auto}
.contact{padding-top:110px;padding-bottom:115px}
.fine-arrow{display:inline-block!important;width:13px;height:13px;position:relative;flex:0 0 13px;font-family:Arial,sans-serif}
.fine-arrow:before{content:'';position:absolute;width:11px;height:1px;background:currentColor;top:7px;left:1px;transform:rotate(-45deg);transform-origin:center}
.fine-arrow:after{content:'';position:absolute;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;right:0;top:1px}
.enquire-button .fine-arrow{width:17px;height:17px;flex-basis:17px}
.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:82px}
.footer-label{display:block;font-size:10px;letter-spacing:.2em;margin-bottom:25px}
.social-links{display:flex;gap:38px;align-items:center}
.social-links a{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.16em;transition:opacity .25s}
.social-links a:hover{opacity:.55}
.social-links svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.social-links svg .filled{fill:currentColor;stroke:none}
.footer-top .footer-brand{width:210px;margin:0}
.privacy-page{padding:100px 10% 140px;max-width:1000px}
.privacy-page h1{transform:none;width:auto;font-size:clamp(52px,8vw,92px);margin:50px 0}
.privacy-page p{max-width:690px;line-height:1.9;color:#605750;font-size:14px;margin-bottom:23px}
.privacy-page a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.hero{padding-bottom:60px;min-height:0}.hero-image{height:57vh}.statement{padding:85px 7% 100px}.worlds{padding:80px 7% 95px}.contact{padding:90px 7% 100px}.footer-top{align-items:start}.social-links{flex-wrap:wrap;gap:23px}}
@media(max-width:620px){.hero-image{height:50vh}.statement-line{margin-bottom:20px}.world-card.gifts{padding-top:0}.interlude{padding:85px 6%}.interlude p{font-size:51px}.footer-top{display:block;padding-bottom:55px}.footer-top .footer-brand{margin-top:65px;width:195px}.social-links{gap:18px}.social-links a{font-size:8px;gap:5px}.social-links svg{width:20px;height:20px}.privacy-page{padding:65px 7% 90px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.world-photo img{transition:none}}
.hero-copy h1{margin-top:0}
.section-kicker{gap:0}
.section-kicker span:first-child{color:var(--ink)}
.contact-action{gap:23px}
.enquire-button .button-arrow{width:18px;height:18px;flex:0 0 18px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.enquire-button:hover .button-arrow{transform:translate(2px,-2px)}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.contact-details>a{font-size:12px;line-height:1.5;transition:opacity .2s}
.contact-details>a:hover{opacity:.6}
.contact-details .small-note{margin-top:8px}

/* Mobile typography refinement; tablet and desktop retain their existing styles. */
@media (max-width: 767px) {
  .hero { padding-bottom: 46px; }
  .hero-copy > p { font-size: 15px; line-height: 1.75; margin-bottom: 30px; }
  .statement { padding-top: 64px; padding-bottom: 68px; }
  .statement-lead { font-size: 44px; line-height: 1.08; margin: 36px 0 28px; text-wrap: pretty; }
  .statement-bottom { display: block; }
  .statement-line { margin: 0 0 20px; }
  .statement-bottom p { font-size: 15px; line-height: 1.8; margin-bottom: 0; }
  .worlds { padding-top: 62px; padding-bottom: 70px; }
  .worlds-top { margin-bottom: 36px; }
  .worlds h2 { font-size: 54px; line-height: 1.06; margin-top: 30px; }
  .world-grid { row-gap: 60px; }
  .world-meta { margin-top: 22px; padding-bottom: 14px; }
  .world-card h3 { font-size: 64px; margin: 18px 0 12px; }
  .world-card p { font-size: 15px; line-height: 1.8; min-height: 0; margin-bottom: 18px; }
  .world-card .text-link { margin-top: 6px; }
  .interlude { padding: 62px 6%; }
  .interlude p { font-size: 45px; line-height: 1.08; margin: 26px auto; }
  .contact { padding-top: 68px; padding-bottom: 72px; }
  .contact-content { margin-top: 36px; gap: 28px; }
  .contact h2 { font-size: 53px; line-height: 1.03; margin-bottom: 22px; }
  .contact p { font-size: 15px; line-height: 1.8; margin-bottom: 0; }
  .section-kicker, .world-meta, .small-note, .interlude > span,
  .footer-label, .footer-details, .social-links a { font-size: 10px; }
  .text-link, .enquire-button { font-size: 12px; }
  .contact-details > a { font-size: 15px; }
  .enquire-button { padding: 22px 24px; }
  footer { padding-top: 46px; }
  .footer-top { padding-bottom: 38px; }
  .footer-top .footer-brand { margin-top: 44px; }
}

/* Laptop and desktop proportions, independent of the approved mobile layout. */
@media (min-width: 901px) {
  .site-header { height: 94px; max-width: 1600px; margin-inline: auto; }
  .brand { width: clamp(155px, 13vw, 182px); }
  .desktop-nav { font-size: 11px; gap: clamp(26px, 3vw, 46px); }
  .hero { max-width: 1600px; margin-inline: auto; min-height: 0; padding-top: 24px; padding-bottom: 58px; grid-template-columns: 54% 46%; }
  .hero-image { height: clamp(390px, calc(100svh - 200px), 560px); max-height: none; }
  .hero-copy { min-width: 0; padding-left: 10%; }
  .hero-copy h1 { font-size: clamp(60px, 5.7vw, 91px); line-height: 1.02; width: 100%; transform: none; margin-bottom: 26px; }
  .hero-copy > p { font-size: 15px; line-height: 1.8; max-width: 340px; margin-bottom: 32px; }
  .vertical-note { right: 18px; bottom: 110px; }
  .statement { padding: 64px 9% 68px; text-align: center; }
  .statement .section-kicker { justify-content: center; }
  .statement-lead { font-size: clamp(46px, 4.25vw, 65px); line-height: 1.1; max-width: 900px; margin: 30px auto 24px; text-wrap: balance; }
  .statement-bottom { display: block; max-width: 560px; margin-inline: auto; }
  .statement-line { display: block; width: 62px; margin: 0 auto 24px; }
  .statement-bottom p { font-size: 16px; line-height: 1.85; max-width: 560px; margin: 0 auto; text-wrap: pretty; }
  .worlds { padding: 76px max(7%, calc((100% - 1380px) / 2)) 86px; }
  .worlds-top { display: block; text-align: center; margin-bottom: 32px; }
  .worlds-top .section-kicker { justify-content: center; margin-bottom: 20px; }
  .worlds h2 { font-size: clamp(42px, 3.8vw, 58px); line-height: 1.08; margin: 0; }
  .world-grid { gap: 5%; max-width: 1100px; margin-inline: auto; align-items: start; }
  .world-photo { height: clamp(265px, 26vw, 350px); }
  .world-card.gifts { padding-top: 0; }
  .world-meta { margin-top: 24px; padding-bottom: 15px; }
  .world-card h3 { font-size: clamp(52px, 5.1vw, 74px); margin: 18px 0 12px; }
  .world-card p { font-size: 15px; line-height: 1.8; max-width: 430px; min-height: 81px; margin-bottom: 18px; }
  .world-card .text-link { margin-top: 8px; }
  .interlude { padding: 56px 7% 60px; }
  .interlude p { font-size: clamp(43px, 4.4vw, 67px); line-height: 1.08; margin: 24px auto; }
  .contact { padding: 80px max(7%, calc((100% - 1380px) / 2)) 86px; }
  .contact > .section-kicker, .contact-content { max-width: 1000px; margin-inline: auto; }
  .contact-content { grid-template-columns: minmax(0, 1.35fr) minmax(280px, 1fr); gap: 50px; margin-top: 32px; align-items: center; }
  .contact h2 { font-size: clamp(51px, 5.1vw, 75px); line-height: 1.05; margin-bottom: 22px; }
  .contact p { font-size: 15px; line-height: 1.8; max-width: 420px; margin-bottom: 0; }
  .contact-details > a { font-size: 14px; }
  .section-kicker, .world-meta, .small-note, .interlude > span,
  .footer-label, .footer-details, .social-links a { font-size: 11px; }
  .text-link, .enquire-button { font-size: 12px; }
  .text-link { gap: 30px; }
  .enquire-button { padding: 23px 25px; }
  footer { padding-top: 52px; }
  .footer-top { max-width: 1430px; margin-inline: auto; padding-bottom: 52px; }
  .footer-details { max-width: 1430px; margin-inline: auto; line-height: 1.6; }
}
