@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500;1,600&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#241b10;background:#f8f5ed;font-size:16px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid #f6c56b;outline-offset:4px}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}
h2{font-size:clamp(3.3rem,6vw,6.4rem);line-height:.98;letter-spacing:-.035em}
h3{font-size:1.18rem;font-weight:600;letter-spacing:-.02em}
.skip{position:absolute;top:-100px;left:1rem;padding:1rem;background:#fff;z-index:20}.skip:focus{top:1rem}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:0 clamp(24px,5vw,82px);background:#080706;color:#f7ecda;border-bottom:1px solid #9d713740;position:relative;z-index:2}
.brand{display:flex;gap:14px;align-items:center;flex-shrink:0}
.brand-logo{width:59px;height:59px;object-fit:cover;border:1px solid #a67937;border-radius:50%}
.brand-name{font-size:.74rem;line-height:1.35;font-weight:700;letter-spacing:.17em}
.site-header nav{display:flex;gap:clamp(20px,2.8vw,46px);align-items:center;font-size:.88rem}
.site-header nav a:not(.nav-contact):hover,.text-link:hover,.footer-top a:hover,.phone:hover{text-decoration:underline;text-underline-offset:6px}
.nav-contact{padding:15px 19px;border:1px solid #aa7a37;color:#e8c585;transition:background .2s}.nav-contact:hover{background:#3b2b16}.nav-contact span,.button span{margin-left:22px}
.hero{min-height:735px;background:radial-gradient(circle at 78% 42%,#33210e 0,#0b0906 40%,#080706 80%);color:#f7f1e4;display:grid;grid-template-columns:55% 45%;overflow:hidden;position:relative}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 54.9%,#b68c4933 55%,transparent 55.1%);pointer-events:none}
.hero-copy{padding:clamp(90px,9vw,145px) 2vw 42px clamp(24px,5vw,82px);display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1}
.eyebrow,.section-number{font-size:.78rem;font-weight:700;letter-spacing:.21em}.eyebrow{color:#e9bd72;display:flex;align-items:center;gap:16px}.tiny-rule{width:36px;height:1px;background:#d9a451}
.hero h1{font-size:clamp(4.2rem,7.5vw,8.6rem);line-height:.82;letter-spacing:-.055em;margin:37px 0 43px;white-space:nowrap}.hero h1 em,.contact h2 em{font-weight:500;color:#e9bd72}
.hero-intro{max-width:535px;color:#ddcfb8;font-size:1.13rem;line-height:1.75}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;padding:19px 25px;min-width:226px;font-weight:700;font-size:.93rem;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-light{background:linear-gradient(135deg,#ffeec7,#d9a549);color:#211606}.button-light:hover{background:#f4d084}.text-link{font-size:.93rem;font-weight:600}.text-link span{margin-left:10px}
.hero-note{font-size:.7rem;letter-spacing:.16em;color:#aa9270;margin:auto 0 0;padding-top:72px}.hero-note span{color:#d4a95e;padding:0 12px}
.hero-visual{display:flex;align-items:center;justify-content:center;padding:20px 2vw 20px 0;min-width:0}.hero-visual img{width:100%;height:auto;max-height:700px;object-fit:contain;display:block;filter:drop-shadow(0 0 55px #c4821c26)}
.section-wrap{max-width:1500px;margin:auto;padding-left:clamp(24px,5vw,82px);padding-right:clamp(24px,5vw,82px)}.section-number{color:#986a2f}
.intro{display:grid;grid-template-columns:27% 73%;padding-top:155px;padding-bottom:165px}.intro h2{margin:-18px 0 38px}.intro h2 span{font-style:italic;color:#a77b3a}.intro p:last-child{max-width:650px;line-height:1.85;font-size:1.11rem;color:#584e42}
.package{background:#ede6d7;border-top:1px solid #d5c5aa;border-bottom:1px solid #d5c5aa}.package-inner{padding-top:135px;padding-bottom:150px}.section-heading{display:grid;grid-template-columns:27% 47% 26%;align-items:end;padding-bottom:68px;gap:0}.section-heading h2{margin:-15px 0 0}.section-heading>p:last-child{line-height:1.75;color:#554b3e;margin:0 0 8px}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bca883;border-left:1px solid #bca883}.package-grid article{padding:36px 32px 50px;border-right:1px solid #bca883;border-bottom:1px solid #bca883;min-height:293px;transition:background .25s}.package-grid article:hover{background:#f8f2e6}.item-number{color:#9e6d2a;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.9rem}.package-grid h3{margin:42px 0 13px}.package-grid p{line-height:1.7;color:#5c5143;margin:0}
.approach{display:grid;grid-template-columns:47% 53%;gap:3%;padding-top:155px;padding-bottom:160px}.approach h2{margin-top:48px}.steps{padding:0;margin:0;list-style:none}.steps li{display:grid;grid-template-columns:88px 1fr;padding:29px 0;border-bottom:1px solid #d3c6af}.steps li:first-child{border-top:1px solid #d3c6af}.steps li>span{color:#a57632;font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;line-height:.85}.steps h3{margin-bottom:9px}.steps p{max-width:490px;color:#5c5143;line-height:1.72;margin-bottom:0}
.details{background:#17130d;color:#f6eddb}.details-inner{padding-top:145px;padding-bottom:155px;display:grid;grid-template-columns:50% 50%}.details .section-number{color:#e8bb70}.details h2{margin-top:48px}.details-copy>div{padding:0 0 26px;margin-bottom:27px;border-bottom:1px solid #725d3e}.details-copy>div:last-child{margin-bottom:0}.details-copy h3{color:#f5dfb5}.details-copy p{color:#d2c4ad;line-height:1.75;max-width:560px}
.contact{background:radial-gradient(circle at 50% 110%,#3d2b12,#090806 58%);color:#f9f1e3;text-align:center;border-top:1px solid #9a71365c}.contact .section-wrap{padding-top:150px;padding-bottom:160px}.contact .section-number{color:#e8bb70}.contact h2{margin:43px auto 25px}.contact>div>p:not(.section-number){max-width:580px;line-height:1.8;color:#d9ccb7;margin:0 auto 35px}.contact .button{margin:0 auto}.phone{display:block;margin-top:26px;text-decoration:underline;text-underline-offset:5px}
footer{background:#090806;color:#f7ebd7;padding:66px clamp(24px,5vw,82px) 32px;border-top:1px solid #88632d55}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-bottom:80px}.footer-top>div{display:flex;flex-direction:column;gap:12px}.footer-bottom{border-top:1px solid #6b5738;padding-top:27px;display:flex;flex-wrap:wrap;gap:18px 38px;color:#c5b497;font-size:.78rem}
@media(max-width:1100px){.hero h1{font-size:clamp(4rem,7vw,6rem)}.section-heading{grid-template-columns:23% 49% 28%}}
@media(max-width:900px){.site-header nav>a:not(.nav-contact){display:none}.hero{grid-template-columns:1fr}.hero:before{display:none}.hero-copy{min-height:570px;padding-right:24px}.hero-visual{padding:0 20px 35px;max-height:580px}.hero-visual img{max-height:580px}.intro,.section-heading,.approach,.details-inner{grid-template-columns:1fr;gap:28px}.intro,.approach{padding-top:105px;padding-bottom:110px}.package-inner,.details-inner{padding-top:105px;padding-bottom:110px}.package-grid{grid-template-columns:repeat(2,1fr)}.section-heading{padding-bottom:42px}.approach h2,.details h2{margin-top:0}.details-inner{gap:52px}}
@media(max-width:580px){.site-header{height:81px}.brand-name{font-size:.59rem}.brand-logo{width:43px;height:43px}.site-header nav{font-size:.78rem}.nav-contact{padding:10px 11px}.nav-contact span{display:none}.hero-copy{min-height:auto;padding-top:84px;padding-bottom:20px}.hero h1{font-size:clamp(3.4rem,13vw,5rem);white-space:normal;margin:28px 0 29px;line-height:.9}.hero-intro{font-size:1rem}.hero-actions{gap:25px}.hero-note{padding-top:64px;line-height:1.7}.hero-visual{height:auto;aspect-ratio:1/1;max-height:460px}.intro,.approach{padding-top:85px;padding-bottom:90px}.package-inner,.details-inner{padding-top:85px;padding-bottom:90px}.intro h2,.section-heading h2,.approach h2,.details h2,.contact h2{font-size:clamp(3.25rem,12vw,4.4rem)}.package-grid{grid-template-columns:1fr}.package-grid article{min-height:0;padding:27px 27px 34px}.package-grid h3{margin-top:23px}.steps li{grid-template-columns:55px 1fr}.contact .section-wrap{padding-top:100px;padding-bottom:115px}.footer-top{flex-direction:column;padding-bottom:55px}.footer-bottom{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.package-grid article,.nav-contact{transition:none}}
.contact .contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(35px,5vw,80px);text-align:left;align-items:start}.contact-copy h2{font-size:clamp(3.4rem,5.5vw,6rem);margin:35px 0 28px}.contact-copy>p:not(.section-number){color:#d9ccb7;line-height:1.8;max-width:470px}.contact-email{display:block;margin-top:28px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:5px}.contact-copy .phone{margin-top:18px}.enquiry-form{padding:32px;border:1px solid #9a713680;background:#100d09}.enquiry-form h3{font-size:1.6rem;color:#f5dfb5;margin:0 0 10px}.form-intro{font-size:.875rem;color:#c9b897;line-height:1.6;margin:0 0 24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.form-field{min-width:0}.form-wide{grid-column:1/-1}.form-field label{display:block;font-size:1rem;line-height:1.5;color:#f5dfb5;margin-bottom:9px}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;border:1px solid #8b704b;border-radius:0;background:#090806;color:#f9f1e3;padding:13px 14px;font:inherit;font-size:1rem;line-height:1.5;color-scheme:dark}.form-field textarea{resize:vertical;min-height:150px}.form-field textarea::placeholder{color:#b6a58a}.form-field :focus-visible,.enquiry-form button:focus-visible{outline:3px solid #f6c56b;outline-offset:3px}.form-privacy,.form-security,.form-status{font-size:.875rem;line-height:1.7;color:#d9ccb7;margin:20px 0}.enquiry-form button{border:0;cursor:pointer;justify-content:center;min-height:54px}.enquiry-form button:disabled{opacity:.7;cursor:wait}.form-security{margin-bottom:0}.form-status:empty{display:none}.form-trap{display:none}
@media(max-width:900px){.contact .contact-layout{grid-template-columns:1fr}}
@media(max-width:580px){.enquiry-form{padding:24px 20px}.form-grid{grid-template-columns:1fr}.enquiry-form button{width:100%;min-width:0}.contact-copy h2{font-size:clamp(3rem,12vw,4.4rem)}}

.form-privacy a{text-decoration:underline;text-underline-offset:3px}
