@import "https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;600&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap";:root{--forest:#1a4a2a;--leaf:#2d6840;--sage:#8bbfb0;--gold:#f0c87a;--cream:#f2edcc;--off:#f8f6ef;--white:#fff;--mid:#8a8a7e;--ink:#1a1a16;--black:#0d0d08;--font-script:"Dancing Script", cursive;--font-ui:"DM Sans", system-ui, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--off);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.site-nav{z-index:100;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem;display:flex;position:fixed;top:0;left:0;right:0}.site-nav.on-dark{background:0 0}.nav-logo-wrap{align-items:center;gap:.5rem;text-decoration:none;display:flex}.nav-logo-icon{color:var(--white);flex-shrink:0}.nav-logo-text{font-family:var(--font-script);color:var(--white);letter-spacing:.01em;font-size:1.75rem;font-weight:600;line-height:1}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{letter-spacing:.14em;text-transform:uppercase;color:#fffc;font-size:.72rem;font-weight:400;transition:color .2s}.nav-links a:hover{color:var(--white)}.nav-inquire{letter-spacing:.14em;text-transform:uppercase;color:var(--white);border:1px solid #ffffff80;padding:.5rem 1.25rem;font-size:.7rem;font-weight:500;transition:background .2s,border-color .2s}.nav-inquire:hover{border-color:var(--white);background:#ffffff24}.hero{align-items:flex-end;height:100vh;min-height:600px;display:flex;position:relative;overflow:hidden}.hero-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(#0d0b0a0d 0%,#0d0b0a33 45%,#0d0b0ab8 100%);position:absolute;inset:0}.hero-content{z-index:2;max-width:820px;padding:0 2.5rem 4.5rem;position:relative}.hero-title{font-family:var(--font-script);color:var(--white);letter-spacing:.01em;margin-bottom:1.5rem;font-size:clamp(4.5rem,11vw,8.5rem);font-weight:600;line-height:.95}.hero-sub{color:#fffc;max-width:400px;margin-bottom:2rem;font-size:1rem;font-weight:300;line-height:1.65}.btn{font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;padding:.85rem 2rem;font-size:.72rem;font-weight:500;transition:all .2s;display:inline-block}.btn-light{background:var(--white);color:var(--forest)}.btn-light:hover{background:var(--cream)}.btn-dark{background:var(--forest);color:var(--white)}.btn-dark:hover{background:var(--leaf)}.btn-outline{border:1px solid var(--forest);color:var(--forest)}.btn-outline:hover{background:var(--forest);color:var(--white)}.statement-band{text-align:center;background:var(--cream);padding:7rem 2rem}.statement-band h2{font-family:var(--font-script);color:var(--forest);max-width:700px;margin:0 auto 2rem;font-size:clamp(2.2rem,4.5vw,3.8rem);font-weight:400;line-height:1.3}.statement-band p{color:var(--mid);max-width:480px;margin:0 auto;font-size:1rem;line-height:1.75}.grid-a{grid-template-rows:520px 360px;grid-template-columns:1.4fr 1fr 1fr;gap:6px;display:grid}.grid-a .cell{overflow:hidden}.grid-a .cell img{object-fit:cover;width:100%;height:100%;transition:transform .6s;display:block}.grid-a .cell:hover img{transform:scale(1.03)}.grid-a .cell-1{grid-area:1/1/3}.grid-a .cell-2{grid-area:1/2}.grid-a .cell-3{grid-area:1/3}.grid-a .cell-4{grid-area:2/2/auto/4}.services-band{background:var(--forest);padding:7rem 2.5rem}.services-band h2{font-family:var(--font-script);color:var(--cream);max-width:500px;margin-bottom:3.5rem;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:400}.services-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.service-card{flex-direction:column;gap:1rem;display:flex}.service-img-wrap{aspect-ratio:3/4;overflow:hidden}.service-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.service-card:hover .service-img-wrap img{transform:scale(1.05)}.service-card h3{font-family:var(--font-script);color:var(--gold);font-size:1.5rem;font-weight:400;line-height:1.2}.service-card p{color:#f2edccb3;font-size:.88rem;line-height:1.7}.fullbleed{height:70vh;min-height:480px;position:relative;overflow:hidden}.fullbleed img{object-fit:cover;object-position:center 40%;width:100%;height:100%}.fullbleed-caption{font-family:var(--font-script);color:var(--white);text-align:right;text-shadow:0 1px 24px #0006;max-width:480px;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:400;line-height:1.2;position:absolute;bottom:3rem;right:3rem}.grid-b{grid-template-rows:380px 280px;grid-template-columns:1fr 1fr 1fr 1fr;gap:6px;display:grid}.grid-b .cell{overflow:hidden}.grid-b .cell img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.grid-b .cell:hover img{transform:scale(1.04)}.grid-b .cell-1{grid-area:1/1/auto/3}.grid-b .cell-2{grid-area:1/3}.grid-b .cell-3{grid-area:1/4}.grid-b .cell-4{grid-area:2/1}.grid-b .cell-5{grid-area:2/2}.grid-b .cell-6{grid-area:2/3/auto/5}.testimonials-band{background:var(--off);padding:7rem 2.5rem}.testimonials-band h2{font-family:var(--font-script);color:var(--forest);text-align:center;margin-bottom:4rem;font-size:clamp(2.2rem,4vw,3.2rem);font-weight:400}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:3rem;max-width:1100px;margin:0 auto;display:grid}.t-card{flex-direction:column;gap:1.25rem;display:flex}.t-card blockquote{font-family:var(--font-ui);color:var(--ink);font-size:1.05rem;font-style:italic;font-weight:300;line-height:1.75}.t-rule{background:var(--sage);width:32px;height:1px}.t-attr{letter-spacing:.1em;text-transform:uppercase;color:var(--mid);font-size:.78rem}.inquire-band{background:var(--cream);grid-template-columns:1fr 1fr;align-items:start;gap:5rem;padding:7rem 2.5rem;display:grid;position:relative;overflow:hidden}.inquire-copy h2{font-family:var(--font-script);color:var(--forest);margin-bottom:1.25rem;font-size:clamp(2.2rem,4vw,3.4rem);font-weight:400;line-height:1.2}.inquire-copy p{color:var(--mid);max-width:380px;font-size:.95rem;line-height:1.75}.inquire-illustration{display:none}.contact-form{z-index:1;flex-direction:column;gap:1.25rem;display:flex;position:relative}.form-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.form-field{flex-direction:column;gap:.4rem;display:flex}.form-field label{letter-spacing:.08em;text-transform:uppercase;color:var(--forest);font-size:.75rem;font-weight:500}.form-optional{text-transform:none;letter-spacing:0;color:var(--mid);font-size:.72rem;font-weight:400}.form-field input,.form-field select,.form-field textarea{font-family:var(--font-ui);color:var(--ink);background:var(--white);appearance:none;border:1px solid #1a4a2a33;border-radius:0;outline:none;width:100%;padding:.75rem 1rem;font-size:.95rem;transition:border-color .15s}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--mid);opacity:.7}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--forest)}.form-field textarea{resize:vertical;min-height:130px}.form-field select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231A4A2A' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}.form-submit{align-self:flex-start;margin-top:.5rem}.form-submit:disabled{opacity:.55;cursor:not-allowed}.form-error{color:#8b3030;background:#fdf0f0;border:1px solid #e8c6c6;padding:.75rem 1rem;font-size:.85rem}.form-success{color:var(--ink);flex-direction:column;align-items:flex-start;gap:1rem;padding:2rem 0;display:flex}.form-success svg{color:var(--sage)}.form-success h3{font-family:var(--font-script);color:var(--forest);font-size:2.2rem;font-weight:400}.form-success p{color:var(--mid);font-size:.95rem;line-height:1.7}.site-footer{background:var(--forest);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;padding:3rem 2.5rem;display:flex}.footer-logo-wrap{align-items:center;gap:.5rem;display:flex}.footer-logo-icon{color:var(--gold)}.footer-logo-text{font-family:var(--font-script);color:var(--cream);font-size:1.5rem;font-weight:600;line-height:1}.footer-links{gap:2rem;list-style:none;display:flex}.footer-links a{letter-spacing:.12em;text-transform:uppercase;color:#f2edcc73;font-size:.72rem;transition:color .2s}.footer-links a:hover{color:var(--cream)}.footer-copy{letter-spacing:.08em;color:#f2edcc40;font-size:.72rem}@media (width<=900px){.site-nav{padding:1rem 1.5rem}.nav-links{display:none}.grid-a{grid-template-rows:280px 280px 220px;grid-template-columns:1fr 1fr}.grid-a .cell-1{grid-area:1/1/auto/3}.grid-a .cell-2{grid-area:2/1}.grid-a .cell-3{grid-area:2/2}.grid-a .cell-4{grid-area:3/1/auto/3}.services-grid{grid-template-columns:1fr 1fr;gap:2rem}.grid-b{grid-template-rows:repeat(3,260px);grid-template-columns:1fr 1fr}.grid-b .cell-1{grid-area:1/1/auto/3}.grid-b .cell-2{grid-area:2/1}.grid-b .cell-3{grid-area:2/2}.grid-b .cell-4{grid-area:3/1}.grid-b .cell-5{grid-area:3/2}.grid-b .cell-6{display:none}.testimonials-grid{grid-template-columns:1fr;gap:2rem;max-width:520px}.inquire-band{grid-template-columns:1fr;gap:3rem;padding:5rem 1.5rem}.inquire-illustration{display:none}.form-row{grid-template-columns:1fr}.site-footer{text-align:center;flex-direction:column}.footer-links{flex-wrap:wrap;justify-content:center}}@media (width<=600px){.services-grid{grid-template-columns:1fr}}body.intro-lock{overflow:hidden}.gift-intro{z-index:1000;cursor:pointer;animation:.45s 4.3s forwards gi-root-out;position:fixed;inset:0}.gift-intro:before{content:"";z-index:4;pointer-events:none;background:radial-gradient(120% 95% at 50% 45%,#fffdf459 0%,#fffdf400 45%,#7d694129 100%);animation:.8s 3.1s forwards gi-fade-out;position:fixed;inset:0}.gi-panel{z-index:3;background-color:#f0ead6;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/><feColorMatrix type='saturate' values='0'/><feComponentTransfer><feFuncA type='table' tableValues='0 0.07'/></feComponentTransfer></filter><rect width='220' height='220' filter='url(%23n)'/></svg>"),radial-gradient(40% 30% at 70% 18%,#9678460d,#0000 70%),radial-gradient(35% 25% at 22% 72%,#9678460f,#0000 70%),radial-gradient(50% 40% at 85% 55%,#aa8c5a0a,#0000 70%);width:50.5%;position:fixed;top:0;bottom:0}.gi-panel-left{border-right:1px solid #7d64418c;animation:1.1s cubic-bezier(.65,0,.25,1) 3.15s forwards gi-open-l;left:0;box-shadow:inset -12px 0 16px -10px #6e5a3780}.gi-panel-right{border-left:1px solid #7d64418c;animation:1.1s cubic-bezier(.65,0,.25,1) 3.15s forwards gi-open-r;right:0;box-shadow:inset 12px 0 16px -10px #6e5a3780}.gi-bow{z-index:5;width:320px;height:277px;margin:-64px 0 0 -160px;position:fixed;top:46%;left:50%;overflow:visible}.gi-loop,.gi-tail,.gi-knot,.gi-grab-tail{transform-box:view-box}.gi-loop-l{transform-origin:150px 62px;animation:.7s cubic-bezier(.55,0,.3,1) 1.9s forwards gi-untie-l}.gi-loop-r{transform-origin:150px 62px;animation:.7s cubic-bezier(.55,0,.3,1) 2.1s forwards gi-untie-r}.gi-tail-1{transform-origin:150px 70px;animation:.9s cubic-bezier(.4,0,.6,1) 2s forwards gi-tail-fall-1}.gi-tail-2{transform-origin:150px 70px;animation:.9s cubic-bezier(.4,0,.6,1) 2.15s forwards gi-tail-fall-2}.gi-knot{transform-origin:151px 62px;animation:.4s ease-in 2.6s forwards gi-pop}.gi-grab-tail{animation:.3s 1.55s forwards gi-fade-out}.gi-bird{z-index:6;width:190px;height:149px;animation:1.4s cubic-bezier(.25,.6,.25,1) forwards gi-fly-in,1s ease-in-out 1.4s forwards gi-tug,1.1s cubic-bezier(.5,0,.75,.5) 2.7s forwards gi-fly-out;position:fixed;top:46%;left:50%;overflow:visible}.gi-float{transform-box:view-box;animation:1.3s ease-in-out infinite alternate gi-bob}.gi-wings{transform-box:view-box;transform-origin:56px 48px;animation:.5s ease-in-out infinite alternate gi-flap}.gi-trail{opacity:0;animation:.3s 1.55s forwards gi-fade-in}.gi-skip{z-index:7;font-family:var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--mid);cursor:pointer;opacity:0;background:0 0;border:none;font-size:.75rem;animation:.5s 1s forwards gi-fade-in;position:fixed;bottom:14px;right:18px}@keyframes gi-fade-in{to{opacity:1}}@keyframes gi-fade-out{0%{opacity:1}to{opacity:0}}@keyframes gi-root-out{to{opacity:0;visibility:hidden}}@keyframes gi-fly-in{0%{transform:translate(62vw,-32vh)rotate(-6deg)}50%{transform:translate(30vw,2vh)rotate(3deg)}85%{transform:translate(151px,-42px)rotate(1deg)}to{transform:translate(135px,-36px)rotate(0)}}@keyframes gi-tug{0%{transform:translate(135px,-36px)}30%{transform:translate(147px,-32px)rotate(3deg)}50%{transform:translate(138px,-35px)}80%{transform:translate(150px,-30px)rotate(5deg)}to{transform:translate(141px,-33px)rotate(2deg)}}@keyframes gi-fly-out{0%{transform:translate(141px,-33px)rotate(2deg)}35%{transform:translate(26vw,-12vh)rotate(6deg)}to{transform:translate(115vw,-20vh)rotate(5deg)}}@keyframes gi-flap{0%{transform:rotate(5deg)}to{transform:rotate(-8deg)}}@keyframes gi-bob{0%{transform:translateY(0)}to{transform:translateY(-3px)}}@keyframes gi-untie-l{to{opacity:0;transform:scale(.04)rotate(-30deg)}}@keyframes gi-untie-r{to{opacity:0;transform:scale(.04)rotate(30deg)}}@keyframes gi-tail-fall-1{0%{opacity:1;transform:translateY(0)rotate(0)}40%{opacity:1;transform:translateY(10px)rotate(-4deg)}to{opacity:0;transform:translateY(44px)rotate(-12deg)}}@keyframes gi-tail-fall-2{0%{opacity:1;transform:translateY(0)rotate(0)}40%{opacity:1;transform:translateY(10px)rotate(4deg)}to{opacity:0;transform:translateY(44px)rotate(14deg)}}@keyframes gi-pop{to{opacity:0;transform:scale(0)}}@keyframes gi-open-l{to{transform:translate(-102%)}}@keyframes gi-open-r{to{transform:translate(102%)}}@media (prefers-reduced-motion:reduce){.gift-intro{display:none}}
