:root{--night:#121312;--night2:#191a18;--paper:#ece9e2;--paper2:#e2ddd4;--line:#3b3b38;--cream:#e9e1d4;--fog:#bbb6ab;--text:#1d1e1b;--accent:#c8bdac;--sans:Inter,'Helvetica Neue',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--night);color:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#bba988;color:#151515}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}main{overflow:hidden}.skip{position:absolute;top:-60px;left:20px;background:white;color:black;z-index:99;padding:12px}.skip:focus{top:5px} .topline{height:29px;background:#e6e0d5;color:#393833;display:flex;justify-content:space-between;align-items:center;padding:0 5%;letter-spacing:.16em;font-size:9px;font-weight:700}.mid-dot{margin:0 9px}.header{height:83px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:relative;z-index:40;background:var(--night);border-bottom:1px solid #30312e}.brand{display:flex;align-items:center;gap:16px}.brand-word{font-size:42px;line-height:.8;font-weight:850;letter-spacing:-.105em;position:relative;padding-right:7px}.brand-star{font-size:12px;position:absolute;top:-5px;right:-3px;letter-spacing:0}.brand-descriptor{font-size:9px;line-height:1.38;letter-spacing:.11em;font-weight:600;color:#a8a396}.nav{display:flex;gap:33px;margin-left:auto;margin-right:35px}.nav a{font-size:10px;font-weight:700;letter-spacing:.11em;transition:color .2s}.nav a:hover{color:#b3a48e}.header-cta{border:1px solid #8a857a;padding:16px 20px;font-size:10px;font-weight:750;letter-spacing:.1em;display:inline-flex;align-items:center;gap:22px;white-space:nowrap;transition:background .2s,color .2s}.header-cta:hover{background:#e4dfd5;color:#161616}.header-cta span{font-size:16px}.menu-toggle{display:none;border:0;background:none;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--cream);margin:6px 0}
.hero{min-height:730px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 77% 44%,#242521 0%,#1a1b18 34%,#121312 68%)}.hero-noise{pointer-events:none;position:absolute;inset:0;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.66' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.30'/%3E%3C/svg%3E")}.hero-inner{max-width:1520px;margin:auto;display:grid;grid-template-columns:52% 48%;min-height:674px;position:relative}.hero-text{padding:79px 0 90px 9.6%;position:relative;z-index:3}.eyebrow,.kicker{font-size:10px;letter-spacing:.16em;font-weight:750}.eyebrow{display:flex;align-items:center;gap:11px;color:#cbc6bc;white-space:nowrap}.status-dot{background:#c7b9a8;height:7px;width:7px;border-radius:50%}.eyebrow-rule{width:28px;height:1px;background:#706f6a;margin-left:7px}.hero h1{font-size:clamp(64px,7vw,112px);letter-spacing:-.075em;line-height:.83;font-weight:750;margin:48px 0 33px}.hero h1 em,.section-heading h2 em,.approach h2 em,.areas h2 em,.booking h2 em,.faq h2 em{font-style:normal;font-weight:350;color:#9e978c}.hero-text>p{color:#c5c1b8;max-width:420px;font-size:15px;line-height:1.75}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:33px;flex-wrap:wrap}.btn{min-height:54px;display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:0 21px;border:1px solid transparent;font-size:10px;font-weight:800;letter-spacing:.11em;transition:transform .2s,background .2s,color .2s,box-shadow .2s;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn span{font-size:17px}.btn-light{background:#e9e2d6;color:#161716}.btn-light:hover{background:#fff}.text-link{display:inline-flex;align-items:center;gap:17px;font-size:10px;letter-spacing:.13em;font-weight:700;border-bottom:1px solid #8d8b84;padding-bottom:9px}.text-link span{font-size:15px}.hero-art{position:relative;min-width:0;display:flex;justify-content:center;align-items:center}.hero-orb{position:relative;z-index:2;width:min(92%,670px);filter:drop-shadow(16px 22px 35px rgba(0,0,0,.58));transform:translate(-4px,10px)}.orb-halo{position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-48%);width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#a99a8355 0%,#77705f1c 47%,transparent 68%);filter:blur(48px)}.orbit{position:absolute;border:1px solid #67665d55;border-radius:50%;aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%)}.orbit-outer{width:min(115%,740px)}.orbit-inner{width:min(103%,695px);border-style:dashed;opacity:.45}.art-tag{position:absolute;z-index:4;font-size:9px;letter-spacing:.16em;color:#cbc7be}.tag-top{right:9%;top:13%;display:flex;flex-direction:column;gap:5px}.tag-top span{color:#77796f}.tag-bottom{left:9%;bottom:14%}.art-plus{position:absolute;z-index:2;color:#9d9b8e;font-size:15px;font-weight:300}.art-plus-a{top:18%;left:15%}.art-plus-b{bottom:22%;right:6%}.hero-bottom{height:56px;border-top:1px solid #363732;padding:0 5%;display:flex;justify-content:space-between;align-items:center;color:#bab7ac;font-size:9px;letter-spacing:.14em;font-weight:650}.hero-bottom span span:last-child{font-size:16px}.mini-circle{font-size:13px;margin-right:13px}.ticker{height:64px;background:var(--accent);color:#1e1d1a;overflow:hidden;display:flex;align-items:center}.ticker-track{width:100%;white-space:nowrap;overflow:hidden}.ticker-track>span{display:inline-block;min-width:200%;animation:marquee 36s linear infinite;font-size:13px;letter-spacing:.15em;font-weight:780}.ticker b{padding:0 23px;font-size:18px;font-weight:400}@keyframes marquee{to{transform:translateX(-50%)}}.section-light{background:var(--paper);color:var(--text)}.section-dark{background:var(--night);color:var(--cream)}.section-shell{max-width:1440px;margin:auto;padding:115px 6%}.section-heading{display:grid;grid-template-columns:32% 68%;gap:30px;margin-bottom:49px}.kicker{margin:0 0 25px}.section-heading h2,.approach h2,.areas h2,.booking h2,.faq h2{font-size:clamp(42px,5.5vw,84px);letter-spacing:-.071em;font-weight:740;line-height:1.02;margin:0}.section-heading h2 em,.areas h2 em,.faq h2 em{color:#817a70}.section-heading>div>p{max-width:545px;line-height:1.7;font-size:15px;color:#5c5a53;margin:26px 0 0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.service-card{border:1px solid #c6c1b7;min-width:0;background:#e8e5de}.service-graphic{height:245px;position:relative;overflow:hidden;color:#e7ded0;display:flex;align-items:center;justify-content:center}.graphic-one{background:linear-gradient(140deg,#494947,#242625)}.graphic-two{background:linear-gradient(135deg,#aaa395,#6b6962)}.graphic-three{background:linear-gradient(140deg,#504f4a,#282926)}.service-graphic svg{width:85%;height:83%;fill:none;stroke:currentColor;stroke-width:2.2;opacity:.84}.graphic-counter,.graphic-label{position:absolute;font-size:8px;letter-spacing:.17em;font-weight:700;color:#ece8df}.graphic-counter{left:19px;top:18px}.graphic-label{bottom:17px;right:17px}.service-copy{padding:26px 27px 30px;min-height:293px;display:flex;flex-direction:column;align-items:flex-start}.service-id{font-size:11px;color:#817c72}.service-copy h3{font-weight:650;font-size:clamp(25px,2.75vw,40px);letter-spacing:-.055em;line-height:1.04;margin:14px 0}.service-copy p{font-size:13px;line-height:1.7;color:#69655e;max-width:310px;margin:0 0 26px}.service-action{margin-top:auto;width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-top:1px solid #beb9af;background:transparent;color:#272722;text-align:left;padding:18px 0 0;font-size:10px;font-weight:750;letter-spacing:.1em}.service-action span{font-size:21px}.service-card:hover .service-action span{transform:translate(3px,-2px)}.service-card .service-action span{transition:transform .2s}.approach{border-bottom:1px solid #353631}.approach-layout{display:grid;grid-template-columns:56% 44%;gap:50px;padding-top:133px;padding-bottom:130px}.approach h2{font-size:clamp(44px,5.65vw,88px)}.approach-main>p:not(.kicker){max-width:480px;color:#aaa9a1;line-height:1.85;font-size:15px;margin:32px 0}.btn-outline{border-color:#77786d;color:#e8e4db}.btn-outline:hover{background:var(--cream);color:#1b1b1a}.approach-list{margin-top:54px;border-top:1px solid #53534c}.approach-list>div{padding:29px 0 31px;border-bottom:1px solid #53534c;display:grid;grid-template-columns:50px 1fr;column-gap:20px}.approach-list>div>span{grid-row:1/3;color:#988f83;font-size:12px}.approach-list h3{font-size:22px;font-weight:550;letter-spacing:-.035em;margin:0 0 9px}.approach-list p{color:#b3afa6;font-size:13px;line-height:1.6;margin:0;max-width:360px}.areas-layout{display:grid;grid-template-columns:47% 53%;gap:70px;align-items:center}.areas h2{font-size:clamp(42px,5.1vw,76px)}.areas p:not(.kicker){color:#6b675e;font-size:15px;line-height:1.8;max-width:435px}.inline-arrow{display:inline-flex;margin-top:21px;padding-bottom:11px;border-bottom:1px solid #aaa397;justify-content:space-between;gap:70px;font-size:11px;letter-spacing:.12em;font-weight:700}.inline-arrow span{font-size:18px}.area-map{height:390px;position:relative;overflow:hidden;border:1px solid #cbc6bb;background:radial-gradient(circle at 65% 52%,#e9e5dc,#d9d4c9);isolation:isolate}.map-outline{position:absolute;inset:0}.map-outline svg{height:100%;width:100%;fill:none;stroke:#c0b9ac;stroke-width:14;opacity:.7;transform:translate(10%,3%)}.pin{position:absolute;padding:9px 11px;background:#232520;color:#efede6;font-size:9px;font-weight:700;letter-spacing:.08em;box-shadow:2px 4px 8px #0002}.pin:before{content:'';display:block;position:absolute;left:-9px;top:11px;width:6px;height:6px;border:1px solid #181b18;border-radius:50%;background:#c7baa7}.pin-1{top:26%;left:23%}.pin-2{top:47%;left:36%}.pin-3{top:67%;left:45%}.pin-4{top:70%;left:8%}.pin-5{top:47%;right:5%}.pin-6{top:10%;left:45%}.area-map small{position:absolute;bottom:19px;right:21px;letter-spacing:.12em;font-size:9px;color:#5d5b54;font-weight:600}.area-map small span{font-size:14px}.booking .section-shell{padding-top:126px;padding-bottom:130px;display:grid;grid-template-columns:42% 58%;gap:45px}.booking h2{font-size:clamp(46px,6.2vw,94px)}.booking-intro>p:not(.kicker){font-size:15px;line-height:1.8;color:#b4b0a5;max-width:340px;margin-top:29px}.booking-card{background:#e8e4dc;color:#20211e;padding:32px 37px 37px;box-shadow:0 24px 55px #0004}.booking-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #bbb6aa;padding-bottom:25px;margin-bottom:26px}.booking-header span:first-child{font-size:10px;color:#6a675e;letter-spacing:.15em;font-weight:700}.booking-header h3{font-size:30px;letter-spacing:-.055em;margin:10px 0 0;font-weight:640}.booking-asterisk{font-size:30px;color:#716d65}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{min-width:0;margin-bottom:20px}.field label{font-size:9px;letter-spacing:.12em;font-weight:780;display:block;margin-bottom:9px;color:#55554f}.field label span,.consent b{color:#a24635}.field input,.field select,.field textarea{width:100%;border:1px solid #c2beb4;border-radius:0;outline:none;color:#20211e;background:#f6f3ed;font-size:13px;padding:14px 13px;min-height:48px;appearance:none;transition:border-color .2s,box-shadow .2s}.field textarea{min-height:98px;resize:vertical;line-height:1.55}.field :is(input,select,textarea):focus{border-color:#60594e;box-shadow:0 0 0 2px #897f6b26}.field :is(input,textarea)::placeholder{color:#959187}.select-wrap{position:relative}.select-wrap:after{content:'⌄';font-size:21px;position:absolute;right:12px;top:10px;pointer-events:none;color:#4a4a46}.consent{display:flex;gap:12px;align-items:flex-start;font-size:11px;line-height:1.6;color:#555149;cursor:pointer;margin:2px 0 26px}.consent input{accent-color:#302f2c;margin-top:2px;width:16px;height:16px;flex-shrink:0}.submit-line{display:flex;align-items:center;justify-content:space-between;gap:15px}.btn-dark{background:#1d1f1c;color:#ece6dc;min-width:210px}.btn-dark:hover{background:#383a35}.submit-line small{color:#78736b;font-size:10px;letter-spacing:.02em}.hidden-field{position:absolute;left:-9999px}.faq-layout{display:grid;grid-template-columns:44% 56%;gap:50px}.faq h2{font-size:clamp(43px,5.2vw,77px)}.faq-list{border-top:1px solid #afa99d;margin-top:13px}.faq-list details{border-bottom:1px solid #afa99d}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-size:16px;font-weight:580;letter-spacing:-.017em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:24px;font-weight:300;line-height:1}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;line-height:1.8;color:#625f56;margin:0 35px 23px 0;max-width:490px}.footer{background:#0e0f0e;color:#e8e2d8}.footer-top{padding:87px 6% 115px;max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:flex-end}.footer-kicker{font-size:11px;letter-spacing:.15em}.footer-logo{display:inline-block;font-size:clamp(120px,18vw,245px);font-weight:850;line-height:1;letter-spacing:-.12em;position:relative;margin-left:-9px}.footer-logo span{font-size:25px;position:absolute;top:2%;right:-9px;letter-spacing:0}.footer-top>div>p:last-child{font-size:11px;line-height:1.7;letter-spacing:.13em;color:#a8a396}.footer-arrow{font-size:clamp(24px,3vw,44px);font-weight:550;letter-spacing:-.05em;line-height:1.1;border-bottom:1px solid #78766e;padding-bottom:21px;min-width:340px;display:flex;justify-content:space-between;align-items:end;gap:25px}.footer-arrow span{font-size:32px}.footer-bottom{border-top:1px solid #393a36;padding:22px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.1em;color:#b5b1a7}.footer-bottom a:hover{text-decoration:underline}
@media(min-width:1500px){.hero-inner{min-height:780px}.hero{min-height:836px}.hero-text{padding-top:110px}}
@media(max-width:1100px){.nav{gap:17px;margin-right:20px}.hero h1{font-size:clamp(65px,7.5vw,90px)}.hero-text{padding-left:7%}.section-shell{padding-left:5%;padding-right:5%}.approach-layout,.areas-layout{gap:32px}.booking .section-shell{grid-template-columns:36% 64%;gap:24px}.booking-card{padding:25px}.hero-text>p{max-width:360px}}
@media(max-width:790px){.topline{font-size:8px}.topline-right{display:none}.header{height:74px}.nav{display:none;position:absolute;top:74px;left:0;right:0;background:#1b1b1a;padding:24px 5% 30px;flex-direction:column;gap:25px;margin:0;box-shadow:0 22px 30px #0006}.nav.open{display:flex}.nav a{font-size:13px}.header-cta{margin-left:auto;margin-right:10px;padding:13px 11px;gap:7px;font-size:9px}.menu-toggle{display:block}.hero-inner{display:flex;flex-direction:column}.hero-text{padding:64px 6% 20px}.hero h1{font-size:clamp(68px,13vw,115px);margin:32px 0 28px}.hero-text>p{max-width:530px}.hero-art{height:470px}.hero-orb{width:min(86%,480px)}.orbit-outer{width:470px;max-width:104%}.orbit-inner{width:420px;max-width:92%}.hero-bottom{height:53px}.section-shell{padding:85px 6%}.section-heading{grid-template-columns:1fr;gap:10px}.section-heading h2{font-size:clamp(46px,8vw,70px)}.service-grid{grid-template-columns:1fr 1fr}.service-grid .service-card:last-child{grid-column:1/3}.service-card:last-child{display:grid;grid-template-columns:1fr 1fr}.service-card:last-child .service-graphic{height:100%}.approach-layout,.areas-layout,.faq-layout,.booking .section-shell{grid-template-columns:1fr}.approach-list{margin-top:10px}.areas-layout{gap:30px}.booking .section-shell{gap:44px}.booking-intro>p:not(.kicker){max-width:540px}.faq-layout{gap:45px}.footer-arrow{min-width:230px}.footer-top{padding-bottom:70px}}
@media(max-width:560px){.header{padding:0 5%}.brand-word{font-size:38px}.brand-descriptor{font-size:8px}.header-cta{font-size:8px;padding:12px 10px}.header-cta span{font-size:13px}.hero-text{padding-top:47px}.eyebrow{font-size:8px;gap:8px;letter-spacing:.12em}.eyebrow-rule{width:12px;margin-left:1px}.hero h1{font-size:clamp(64px,16.4vw,89px);margin-top:35px}.hero-text>p{font-size:14px;line-height:1.65}.hero-actions{gap:23px;margin-top:25px}.btn{min-height:53px}.text-link{font-size:9px}.hero-art{height:365px;margin:-5px 0 0}.hero-orb{width:min(89%,380px)}.orbit-outer{width:380px}.orbit-inner{width:340px}.tag-top{top:11%;right:6%}.tag-bottom{left:7%;bottom:9%}.hero-bottom{padding:0 5%;font-size:7px}.ticker{height:54px}.ticker-track>span{font-size:11px}.section-shell{padding:74px 5%}.section-heading{margin-bottom:32px}.section-heading h2,.approach h2,.areas h2,.booking h2,.faq h2{font-size:clamp(42px,11.3vw,64px)}.service-grid{display:grid;grid-template-columns:1fr;gap:15px}.service-grid .service-card:last-child{grid-column:auto;display:block}.service-card:last-child .service-graphic{height:245px}.service-copy{min-height:265px}.approach-layout{padding-top:75px;padding-bottom:80px}.approach-list>div{grid-template-columns:36px 1fr}.areas-layout{gap:25px}.area-map{height:340px}.pin{font-size:7px;padding:8px 8px}.pin-1{left:24%}.pin-4{left:3%}.pin-5{right:4%}.booking-card{padding:21px 18px 25px}.booking-header h3{font-size:25px}.form-grid{grid-template-columns:1fr;gap:0}.field{margin-bottom:16px}.submit-line{align-items:stretch;flex-direction:column}.submit-line .btn{width:100%}.submit-line small{text-align:center}.faq-layout{gap:14px}.faq-list summary{font-size:15px;padding:22px 0}.footer-top{padding:65px 5% 75px;display:block}.footer-logo{font-size:clamp(150px,45vw,210px)}.footer-arrow{margin-top:40px;min-width:0;max-width:350px}.footer-bottom{padding:18px 5%;flex-wrap:wrap;font-size:8px}.footer-bottom span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track>span{animation:none}.btn{transition:none}}

/* RAY’S brand lockup: maintain proportions at mobile widths */
.brand-word{letter-spacing:-.09em;padding-right:12px}.brand-star{right:-2px}.footer-logo{letter-spacing:-.09em}.footer-logo span{right:-10px}
@media(max-width:560px){.brand{gap:10px}.brand-word{font-size:34px}.brand-descriptor{font-size:7px}.footer-logo{font-size:clamp(112px,29vw,158px)}}

/* FIX: image had a 1200px HTML height combined with a responsive CSS width.
   Keep both dimensions proportional on every viewport. */
.hero-art .hero-orb {
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  flex-shrink: 0;
}

/* Quote request confirmation and delivery error states */
#submission-result[hidden] { display: none !important; }
.submission-result { margin: 0; padding: 38px 30px; background: #e8e1d5; color: #171715; border: 1px solid #c8b9a4; }
.submission-result h3 { font-size: clamp(38px, 5vw, 64px); line-height: 1; margin: 10px 0 22px; letter-spacing: -.06em; }
.submission-result p { font-size: 16px; line-height: 1.6; max-width: 620px; }
.submission-result .kicker { font-size: 11px; letter-spacing: .15em; }
.submission-result .btn { margin-top: 24px; display: inline-flex; }
.submission-result.error { background: #fcf0e7; color: #571e13; border-color: #b06655; font-weight: 500; }
#booking-form[hidden] { display: none !important; }
#booking-form button[disabled] { opacity: .55; cursor: wait; }

/* Cross-platform icons: avoid emoji font fallback on iOS/Android. */
.ui-icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.12em;color:inherit;overflow:visible}
.ui-arrow{width:1.25em;height:1.25em}
.brand-star .ui-star{width:100%;height:100%;display:block;vertical-align:baseline}
.brand-star{width:12px;height:12px;display:block}
.mini-circle .ui-star{vertical-align:middle}
.ticker b .ui-star{vertical-align:middle}
.booking-asterisk .ui-star{width:30px;height:30px}
.footer-logo span .ui-star{width:1em;height:1em}
.header-cta .ui-arrow,.btn .ui-arrow,.inline-arrow .ui-arrow{vertical-align:middle}
