@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/approved-font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/approved-font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/approved-font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/approved-font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/approved-font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/approved-font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/approved-font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/approved-font-7.ttf) format('truetype');
}

:root{--bg:#05080c;--panel:#0b1119;--ink:#eef2f5;--muted:#9ca8b6;--line:rgba(190,208,227,.19);--blue:#b2d8ff;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--gutter:clamp(24px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:#b2d8ff;color:#070c14}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{background:none;border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}img{max-width:100%;display:block}figure,p{margin:0}h1,h2,h3{font-weight:400;margin:0;line-height:1.08;letter-spacing:-.055em}h1{font-size:clamp(64px,5.9vw,108px)}h2{font-size:clamp(46px,4.55vw,80px)}h3{font-size:28px;letter-spacing:-.035em}em{font-family:var(--serif);font-weight:400;font-size:1.1em;letter-spacing:-.035em;color:#d5e1ed}p{color:var(--muted)}[hidden]{display:none!important}.wrap{width:100%;max-width:1680px;margin-inline:auto;padding-inline:var(--gutter)}.section-space{padding-block:126px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.5;color:#b5c6d6;display:flex;align-items:center;gap:13px;margin-bottom:30px}.eyebrow>span{height:1px;width:30px;background:#9bb7d1}.micro-label,.section-note{font-size:12px;font-weight:500;letter-spacing:.13em;color:#a9bacb;line-height:1.8}.section-heading{display:flex;justify-content:space-between;gap:36px;align-items:flex-end;margin-bottom:62px}.section-heading>p{max-width:310px}.section-heading>.eyebrow{margin:0}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:15px 25px;border-radius:2px;font-size:14px;font-weight:600;letter-spacing:.015em;position:relative;transition:background .25s,box-shadow .25s,transform .25s;border:1px solid transparent;white-space:normal}.button:hover{transform:translateY(-2px)}.button.primary{color:#111821;background:linear-gradient(125deg,#f5f8fb,#b9cada);box-shadow:0 0 28px #98b8e00a}.button.primary:hover{background:#fff;box-shadow:0 0 30px #a6ceff35}.button.text-button{color:#e3eaf1;border-bottom:1px solid #687785;padding-inline:0;margin-left:2px;border-radius:0;min-height:46px;background:none}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:28px}.underlined{font-size:14px;border-bottom:1px solid #8e9ba9;padding-bottom:8px}.skip-link{position:fixed;top:-80px;left:20px;z-index:300;background:#fff;color:#111;padding:12px 22px}.skip-link:focus{top:12px}
/* Clear navigation above the cinematic canvas. */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;transition:background .3s,border-color .3s;border-bottom:1px solid transparent;background:linear-gradient(#05080ca8,transparent)}.site-header.is-scrolled{background:#070c12eb;backdrop-filter:blur(20px);border-color:var(--line)}.header-inner{height:98px;padding-inline:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:1800px;margin:auto}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-mark{width:43px;height:43px}.brand>span{font-size:26px;line-height:1;letter-spacing:.17em;font-weight:500}.brand small{display:block;font-size:12px;letter-spacing:.53em;margin-top:8px;padding-left:2px}.desktop-nav{display:flex;align-items:center;gap:30px;font-size:14px}.desktop-nav>a,.dropdown-toggle{color:#d7e0e9;transition:color .2s}.desktop-nav>a:hover,.dropdown-toggle:hover,.desktop-nav [aria-current=page]{color:white}.nav-dropdown{position:relative}.dropdown-toggle{font-size:14px;padding:15px 0;display:flex;align-items:center;gap:11px}.chevron{border:solid #a3b5c5;border-width:0 1px 1px 0;width:6px;height:6px;transform:rotate(45deg);margin-top:-4px}.dropdown-panel{position:absolute;top:54px;left:-28px;width:290px;padding:26px;background:#0b121af5;backdrop-filter:blur(20px);border:1px solid #33404f;box-shadow:0 25px 70px #0009}.dropdown-panel p{font-size:12px;letter-spacing:.14em;margin-bottom:16px}.dropdown-panel a{display:block;padding:10px 0;font-size:16px;border-bottom:1px solid var(--line)}.dropdown-panel a:last-child{border:0}.header-contact{font-size:14px;display:flex;align-items:center;gap:17px;border:1px solid #64788d79;padding:11px 18px;border-radius:2px}.header-contact:hover{background:#a0c4ea13}.contact-dot{width:5px;height:5px;border-radius:50%;background:#c6d9eb;box-shadow:0 0 12px #93c6ff}.mobile-toggle,.mobile-nav{display:none}
/* A continuous, native-scroll 3D opening. */
.film-story{height:365svh;min-height:2300px;position:relative}.film-stage{height:100svh;min-height:750px;position:sticky;top:0;overflow:hidden;background:#060a10;isolation:isolate}.product-story{height:110svh;min-height:850px}.product-story .film-stage{height:110svh;min-height:850px}.scene-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 37%,#25476867 0,transparent 43%),radial-gradient(ellipse at 30% 100%,#111f394d,transparent 60%);z-index:-2}.scene-watermark{position:absolute;top:11%;left:39%;font-size:28vw;line-height:1;letter-spacing:-.075em;color:#b2c5dd05;font-weight:600;z-index:-1}.scene-canvas{position:absolute;inset:0;touch-action:pan-y}.scene-canvas canvas{display:block;width:100%;height:100%}.scene-fallback{position:absolute;right:2%;top:18%;width:57%;height:65%;opacity:.8;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 85%,transparent)}.scene-fallback img{width:100%;height:100%;object-fit:cover;object-position:top;filter:saturate(.75)}.scene-canvas.sculpture-ready .scene-fallback{display:none}.scene-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#05080c9c,transparent 64%),linear-gradient(0deg,#05080ccc,transparent 23%)}.scene-content{height:100%;position:relative;pointer-events:none}.scene-copy{position:absolute;top:50%;width:48%;max-width:700px;transform:translateY(-50%);pointer-events:auto;will-change:opacity,transform}.scene-copy h1{line-height:1.025}.scene-copy .eyebrow{margin-bottom:26px}.hero-description{max-width:430px;font-size:16px;line-height:1.8;margin-top:26px;color:#b8c5d3}.signature{font-family:var(--serif);font-size:25px;font-style:italic;color:#d4e0ec;line-height:1.4;margin-top:13px}.scene-copy-1,.scene-copy-2{opacity:0;pointer-events:none;visibility:hidden}.scene-copy-1{left:57%;width:36%;max-width:560px}.scene-copy-1 h2{font-size:clamp(50px,5.2vw,92px)}.scene-copy-1>p:not(.eyebrow){max-width:320px;margin:25px 0}.scene-copy-2{left:50%;width:80%;max-width:1050px;text-align:center;transform:translate(-50%,-50%)}.scene-copy-2 h2{font-size:clamp(56px,6.8vw,120px)}.scene-copy-2 .eyebrow{justify-content:center}.scene-copy-2>p:not(.eyebrow){margin:26px auto}.scene-copy-2 .button{margin-top:10px}.scene-toolbox{position:absolute;right:10%;bottom:117px;text-align:center;z-index:3;transition:opacity .25s}.model-label{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;letter-spacing:.15em;color:#a3b4c6}.model-label i{height:4px;width:4px;border-radius:50%;background:#b0d3fd;box-shadow:0 0 12px #b0d3fd}.model-label>span{letter-spacing:0;text-transform:none;color:#778da4;font-size:12px;padding-left:12px;border-left:1px solid #4e6074;margin-left:7px}.model-modes{display:inline-flex;margin-top:14px;border:1px solid #485f775f;border-radius:30px;padding:4px;background:#111b2866;backdrop-filter:blur(15px)}.model-modes button{font-size:12px;padding:8px 17px;border-radius:25px;color:#a5b4c4}.model-modes button[aria-pressed=true]{color:#ebf4ff;background:#8eb5e01f}.scene-bottom{position:absolute;bottom:29px;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:25px;z-index:3}.scroll-cue{display:flex;align-items:center;gap:13px;font-size:12px;letter-spacing:.17em;color:#afc1d4}.scroll-cue>span{width:18px;height:30px;border:1px solid #879bb377;border-radius:12px;position:relative}.scroll-cue>span:after{content:'';position:absolute;width:2px;height:7px;top:6px;left:7px;background:#bfd5ec;animation:scrollDot 2s infinite}.scene-chapters{display:flex;gap:25px}.scene-chapters button{font-size:12px;position:relative;padding:9px 0;color:#718397}.scene-chapters b{font-size:12px;font-weight:400;margin-right:9px}.scene-chapters [aria-current=true]{color:#dceafa}.scene-chapters [aria-current=true]:after{content:'';position:absolute;height:1px;background:#aac5e5;bottom:0;left:0;right:0}.motion-toggle{font-size:12px;color:#9bb1c8;min-width:102px;text-align:right;padding:10px 0}.film-progress{position:absolute;bottom:0;left:0;width:100%;height:1px;background:#24344b70}.film-progress>span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:#aac8eb;box-shadow:0 0 14px #81b3fa}
/* Long-form, editorial sections with real Dash work. */
.story-section{border-top:1px solid var(--line)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.story-grid .lead{font-size:30px;line-height:1.4;color:#dce5ee;letter-spacing:-.025em;margin-bottom:27px}.story-grid .smaller{font-size:23px;line-height:1.65;margin-top:38px}.story-text{font-size:17px;line-height:1.9;max-width:610px}.story-grid .text-button{margin-top:25px}.principles,.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin-top:88px}.principles>div,.capability-grid>article{padding-top:23px;border-top:1px solid var(--line)}.principles span,.capability-grid article>span{font-size:12px;color:#748da6;letter-spacing:.08em}.principles h3,.capability-grid h3{font-size:25px;margin-top:28px;margin-bottom:17px}.principles p,.capability-grid p{line-height:1.8}.work-showcase{position:relative;min-height:760px;height:100svh;max-height:1100px;isolation:isolate;overflow:hidden}.showcase-images,.showcase-slide{position:absolute;inset:0}.showcase-slide{opacity:0;transform:scale(1.08) translateZ(0);transition:opacity .85s,transform 2.5s cubic-bezier(.2,.7,.3,1)}.showcase-slide.is-active{opacity:1;transform:scale(1)}.showcase-slide img{width:100%;height:100%;object-fit:cover}.showcase-slide[data-slide="0"] img{object-position:center 45%}.showcase-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#03070ec4 0,transparent 48%,#03070ee0 100%)}.work-heading{position:absolute;top:10%;left:0;right:0}.work-heading h2{font-size:clamp(44px,4.25vw,76px);text-shadow:0 2px 24px #0005}.showcase-bottom{position:absolute;bottom:42px;left:0;right:0;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.showcase-caption{font-size:22px;color:#edf3fa;margin-top:8px;letter-spacing:-.02em}.showcase-controls{display:flex;gap:10px}.showcase-controls button{font-size:14px;width:47px;height:47px;border:1px solid #c8d9ea55;border-radius:50%;transition:all .3s}.showcase-controls button[aria-pressed=true]{color:#101820;background:#e1ebf5;border-color:#e1ebf5}.platinum-feature{position:relative;height:95svh;min-height:760px;overflow:hidden}.feature-backdrop,.feature-scrim{position:absolute;inset:0}.feature-backdrop img{width:100%;height:100%;object-fit:cover;object-position:65% 45%;filter:saturate(.65)}.feature-scrim{background:linear-gradient(90deg,#05080cf7 0,#05080ce8 19%,#05080c75 57%,#05080c15 100%),linear-gradient(0deg,#05080c,transparent 30%)}.feature-inner{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center}.feature-copy{max-width:550px;padding-bottom:60px}.feature-copy h2{font-size:clamp(56px,5.7vw,102px)}.feature-copy>p:not(.eyebrow){max-width:420px;margin:30px 0;color:#c1cad3}.feature-footer{position:absolute;bottom:45px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;gap:35px;font-size:12px;letter-spacing:.12em;color:#a9bbca}.feature-footer i{height:1px;background:#647a8f5e;flex:1}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1.25fr 1fr 90px;align-items:center;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);transition:padding .35s,color .35s,background .35s}.service-row>span:first-child{font-size:12px;color:#70859a}.service-row h3{font-size:clamp(30px,3.1vw,54px)}.service-row p{font-size:15px}.service-view{font-size:12px;text-align:right;text-transform:uppercase;letter-spacing:.1em;color:#93a9bf}.service-row:hover{padding-inline:20px;background:linear-gradient(90deg,#14304b50,transparent)}.service-row:hover h3{color:#c5e2ff}.connection-section{overflow:hidden;background:radial-gradient(ellipse at 80% 50%,#13253880,transparent 62%);border-block:1px solid var(--line)}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.connection-grid p:not(.eyebrow){max-width:480px;margin:30px 0}.connection-orbit{position:relative;aspect-ratio:1.17;max-width:630px;width:100%;perspective:700px}.orbit-line{position:absolute;inset:11%;border:1px solid #5b83b142;border-radius:50%;transform:rotate(-30deg) rotateX(36deg)}.orbit-b{inset:23%;border-color:#729dc735;transform:rotate(20deg) rotateX(-35deg)}.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;border:1px solid #4b6b885c;background:radial-gradient(ellipse at 30% 20%,#34547465,#09101b80 70%);box-shadow:inset 0 0 40px #618bae14,0 0 120px #31598622;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:17px}.orbit-core .brand-mark{width:58px;height:58px}.orbit-core span{font-size:12px;letter-spacing:.15em;color:#aabfd7}.orbit-label{font-size:12px;letter-spacing:.1em;position:absolute;padding:12px 17px;background:#080e16cc;backdrop-filter:blur(10px);border:1px solid #5474913a;box-shadow:0 10px 40px #0003}.orbit-label.one{top:16%;left:5%}.orbit-label.two{top:10%;right:6%}.orbit-label.three{bottom:10%;right:2%}.orbit-label.four{bottom:14%;left:0}.orbit-particle{position:absolute;top:21%;right:23%;height:5px;width:5px;background:#d4eaff;border-radius:50%;box-shadow:0 0 20px 5px #72baff33}.team-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:35px;align-items:start}.team-grid figure:last-child{margin-top:100px}.team-grid img{width:100%;height:470px;object-fit:cover;filter:saturate(.74);transition:filter .4s}.team-grid figure:hover img{filter:saturate(1)}.team-grid figure:last-child img{height:420px}.team-grid figcaption{padding-top:22px;display:flex;justify-content:space-between;gap:15px;color:#c2cfdb;font-size:14px}.team-grid small{font-size:12px;letter-spacing:.1em;color:#778a9c}.closing{padding-top:100px;padding-bottom:110px;display:grid;grid-template-columns:1.5fr 1fr;gap:8%;align-items:end;border-top:1px solid var(--line)}.closing h2{font-size:clamp(52px,5.7vw,98px)}.closing>div:last-child{padding-bottom:5px}.closing p:not(.eyebrow){margin-bottom:28px}.site-footer{background:#030609;overflow:hidden}.footer-top{display:flex;justify-content:space-between;gap:40px;padding-top:60px;font-size:14px}.footer-top>p{color:#9cabb9}.footer-links{display:flex;flex-wrap:wrap;gap:13px 25px;max-width:430px}.footer-top>a{font-size:14px;color:#a8bdd1}.footer-wordmark{font-size:29vw;line-height:.95;font-weight:500;letter-spacing:-.065em;text-align:center;margin:65px 1% 20px;background:linear-gradient(#d9e7f0a6,#0b121b 88%);color:transparent;background-clip:text;-webkit-background-clip:text;user-select:none}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:22px;padding-bottom:28px;border-top:1px solid var(--line);font-size:12px;color:#748495}
/* All-on-X: tangible details, simple controls. */
.craft-section{padding-top:100px}.comparison{height:clamp(320px,39vw,630px);position:relative;overflow:hidden;background:#000;border:1px solid #3e526b4a}.compare-image{position:absolute;inset:0;background-repeat:no-repeat;background-size:100% 200%;background-position:center bottom}.compare-final{background-position:center top;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-divider{position:absolute;top:0;bottom:0;left:var(--split);width:1px;background:#dbeafa;pointer-events:none;box-shadow:0 0 30px #d2e8ff44}.compare-divider span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid #d3e5f680;border-radius:50%;background:#172335bd;backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:center;color:#f0f6ff;letter-spacing:7px;padding-left:7px}.compare-labels{position:absolute;top:24px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.13em;color:#dae3ed;pointer-events:none}.compare-labels span{background:#0009;padding:8px 12px}.compare-slider{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.comparison:focus-within{outline:2px solid var(--blue);outline-offset:5px}.image-caption{font-size:13px;text-align:center;margin-top:22px;color:#8297aa}.journey{border-top:1px solid var(--line)}.journey-layout{display:grid;grid-template-columns:300px 1fr;gap:6%}.step-tabs{display:flex;flex-direction:column}.step-tabs button{display:flex;align-items:center;gap:22px;padding:27px 12px 27px 0;text-align:left;font-size:16px;border-top:1px solid var(--line);color:#8293a3;transition:color .3s,padding .3s}.step-tabs button:last-child{border-bottom:1px solid var(--line)}.step-tabs button>span{font-size:12px;color:#627d96}.step-tabs button[aria-selected=true]{color:#e6f1fd;padding-left:20px;background:linear-gradient(90deg,#29486250,transparent)}.step-photo{height:420px;overflow:hidden}.step-photo img{width:100%;height:100%;object-fit:cover}.step-copy{padding-top:30px;max-width:740px;animation:copyIn .4s ease}.step-copy h3{font-size:32px;margin:15px 0}.step-copy p{max-width:700px}.growth-section{border-block:1px solid var(--line);background:radial-gradient(ellipse at 10% 0,#182d4566,transparent 65%)}.growth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:80px;margin-bottom:55px}.growth-grid article{padding-top:25px;border-top:1px solid var(--line)}.growth-grid article>span{font-size:12px;letter-spacing:.1em;color:#8ca5be}.growth-grid h3{margin:35px 0 20px;font-size:31px}.photo-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{display:block;position:relative;text-align:left;padding:0;overflow:hidden;background:#0d131a;isolation:isolate}.gallery-item img{width:100%;height:330px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.2,1),filter .6s;filter:saturate(.75)}.gallery-item:hover img{transform:scale(1.035);filter:saturate(1)}.gallery-item>span{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 21px;background:linear-gradient(transparent,#000b);color:#fff;font-size:13px;display:flex;gap:12px;justify-content:space-between;align-items:center}.gallery-item b{font-size:26px;line-height:1;font-weight:300}.photo-gallery .gallery-item:nth-child(2),.photo-gallery .gallery-item:nth-child(5),.photo-gallery .gallery-item:nth-child(8){transform:translateY(40px)}.faq-section{display:grid;grid-template-columns:1fr 1.3fr;gap:10%;margin-top:20px}.faq-items details{border-top:1px solid var(--line);padding:26px 0}.faq-items details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:18px}summary::-webkit-details-marker{display:none}summary span{font-size:26px;color:#93acc6}.faq-items details[open] summary span{transform:rotate(45deg)}.faq-items p{margin-top:22px;padding-right:35px;line-height:1.9}
/* Service pages. */
.service-hero{min-height:820px;height:100svh;max-height:1200px;position:relative;overflow:hidden}.service-hero-photo,.service-hero-shade{position:absolute;inset:0}.service-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 43%;filter:saturate(.73)}body[data-page=implants] .service-hero-photo img{object-position:center 52%}body[data-page=crowns-veneers] .service-hero-photo img{object-position:center 40%}.service-hero-shade{background:linear-gradient(0deg,#05080cfb 1%,#05080c9c 38%,#05080c18 85%),linear-gradient(90deg,#05080c65,transparent 70%)}.service-hero-copy{position:absolute;bottom:8%;left:0;right:0}.service-hero-copy h1{font-size:clamp(62px,6.5vw,118px);max-width:1100px}.service-hero-bottom{display:flex;align-items:center;gap:50px;justify-content:space-between;margin-top:35px;max-width:1000px}.service-hero-bottom p{max-width:540px;color:#c5d1dd}.vertical-note{position:absolute;top:150px;right:30px;writing-mode:vertical-rl;font-size:12px;letter-spacing:.15em;color:#c5d3e1}.two-photo-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:25px}.two-photo-grid .gallery-item img{height:530px}.two-photo-grid .gallery-item:last-child{margin-top:60px}.process-section h2{margin-bottom:60px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}.process-grid>div{border-top:1px solid var(--line);padding-top:20px}.process-grid span{font-size:12px;color:#7c97b2}.process-grid h3{font-size:25px;line-height:1.4;margin-top:30px;max-width:300px}.scope-note{font-size:13px;margin-top:50px;color:#7d8fa1}
/* Contact and accessible lightbox. */
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:190px;padding-bottom:140px;background:radial-gradient(ellipse at 5% 25%,#1e334733,transparent 60%)}.contact-copy h1{font-size:clamp(58px,5.1vw,89px)}.contact-copy>p:not(.eyebrow){margin-top:30px;max-width:470px}.contact-person{margin-top:50px;display:flex;align-items:center;gap:20px}.contact-monogram{width:62px;height:62px;border:1px solid #6e899d66;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:26px;background:#334b6014}.contact-person>div{display:flex;flex-direction:column}.contact-person strong{font-size:17px;font-weight:500}.contact-person>div>span{font-size:12px;color:#8da1b4;margin:3px 0}.contact-person a{font-size:14px;color:#b9d3e9}.contact-copy .contact-aside{font-family:var(--serif);font-size:26px;font-style:italic;color:#a3b6c8;margin-top:50px}.contact-form-wrap{border-top:1px solid var(--line);padding-top:26px}form{display:flex;flex-direction:column;gap:26px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px}form label{display:flex;flex-direction:column;gap:10px;font-size:13px;color:#c2cfdb}form label>span{display:contents;color:#6c8297}input,textarea,select{width:100%;border:0;border-bottom:1px solid #425265;background:#121c264d;border-radius:0;padding:13px 12px;color:#edf3fa;font-size:14px;transition:border-color .2s}input:focus,textarea:focus,select:focus{border-color:#c4dff5;outline:0}input::placeholder,textarea::placeholder{color:#667c90}textarea{resize:vertical;min-height:125px}select{appearance:auto;background:#0a1119}.form-note{font-size:12px;line-height:1.8;color:#7f94a8}.contact-form-wrap .button{align-self:flex-start}.form-status{font-size:14px;color:#b6d4eb;line-height:1.6}.form-status:empty{display:none}.copy-introduction{font-size:14px;text-decoration:underline;text-underline-offset:6px;text-align:left;padding:0}.lightbox{max-width:100vw;max-height:100svh;width:100vw;height:100svh;border:0;margin:0;padding:70px 100px;background:#05080cf7;color:white;position:fixed;inset:0}.lightbox::backdrop{background:#000c;backdrop-filter:blur(10px)}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox figure{max-width:1300px;max-height:86vh;display:flex;flex-direction:column;align-items:center;gap:20px}.lightbox figure img{max-width:100%;max-height:77vh;object-fit:contain}.lightbox figcaption{font-size:14px;color:#b5c8da}.lightbox button{position:absolute;font-size:13px;border:1px solid #526d86;padding:9px 17px;background:#0b1620b3}.lightbox-close{right:25px;top:22px}.lightbox-prev{left:15px;top:50%}.lightbox-next{right:15px;top:50%}.lightbox-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#8fa6bc;font-size:12px}.error-page{min-height:70vh;padding-top:210px;padding-bottom:100px}.error-page .button{margin-top:40px}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}
@keyframes scrollDot{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}@keyframes copyIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.scene-copy{width:45%}.scene-toolbox{right:16%}}
@media(max-width:1100px){.desktop-nav{gap:21px}.header-contact{font-size:12px;padding:10px 13px}.brand{gap:10px}.header-inner{gap:20px}.scene-copy{width:49%}h1{font-size:72px}.hero-description{max-width:350px;font-size:15px}.hero-actions{gap:23px}.hero-actions .button{font-size:12px;padding:14px 20px}.hero-actions .text-button{padding-inline:0}.scene-toolbox{right:7%}.scene-chapters{gap:20px}.scene-chapters button{font-size:12px}.principles,.capability-grid,.growth-grid{gap:35px}.service-row{grid-template-columns:40px 1.3fr 1fr 60px;gap:20px}.service-row p{font-size:13px}.team-grid img{height:370px}.team-grid figure:last-child img{height:330px}.journey-layout{grid-template-columns:240px 1fr;gap:35px}.step-photo{height:340px}.step-tabs button{font-size:14px}.gallery-item img{height:260px}.footer-top{flex-wrap:wrap}.contact-section{gap:5%}.contact-copy h1{font-size:65px}.contact-person a{font-size:12px}}
@media(max-width:900px){:root{--gutter:28px}.header-inner{height:80px}.desktop-nav,.header-contact{display:none}.mobile-toggle{display:flex;flex-direction:column;gap:6px;padding:15px 0 15px 20px}.mobile-toggle span{width:26px;height:1px;background:#d8e7f3;transition:transform .3s}.mobile-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.mobile-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;flex-direction:column;padding:15px var(--gutter) 35px;background:#070c13f8;height:calc(100svh - 80px);overflow:auto}.mobile-nav a{font-size:25px;padding:12px 0;border-bottom:1px solid var(--line);letter-spacing:-.025em}.site-header:has(.mobile-nav:not([hidden])){background:#070c13}.brand-mark{width:36px;height:36px}.brand>span{font-size:23px}.brand small{font-size:12px}.section-space{padding-block:90px}.film-stage{min-height:800px}.scene-copy{top:45%;width:53%}.scene-copy h1{font-size:65px}.scene-copy .eyebrow{font-size:12px}.hero-actions{flex-direction:column;align-items:flex-start;gap:10px}.scene-copy-1{left:48%;width:44%}.scene-copy-1 h2{font-size:64px}.scene-copy-2{width:90%;top:50%}.scene-copy-2 h2{font-size:70px}.scene-toolbox{right:8%;bottom:135px}.scene-toolbox .model-label>span{display:none}.scene-chapters{display:none}.scene-bottom{bottom:25px}.story-grid{gap:8%}.story-grid .lead{font-size:27px}.story-text{font-size:15px}.principles{gap:26px;margin-top:65px}.principles h3{font-size:22px}.principles p{font-size:14px}.work-showcase{min-height:660px;height:85svh}.work-heading h2{font-size:54px}.work-heading{top:9%}.showcase-bottom>.underlined{display:none}.platinum-feature{min-height:780px;height:92svh}.feature-backdrop img{object-position:60% center}.feature-scrim{background:linear-gradient(90deg,#05080ced,#05080ca1 60%,#05080c44),linear-gradient(0deg,#05080c,transparent 60%)}.feature-copy h2{font-size:80px}.feature-footer{gap:20px;font-size:12px}.section-heading>p{font-size:14px}.service-row{grid-template-columns:25px 1.2fr 1fr;gap:20px}.service-row .service-view{display:none}.service-row h3{font-size:32px}.connection-grid{grid-template-columns:1fr}.connection-grid>div:first-child{max-width:600px}.connection-orbit{max-width:540px;margin:35px auto -30px}.team-grid{gap:24px}.team-grid img{height:360px}.team-grid figure:last-child img{height:320px}.team-grid figcaption{flex-direction:column;gap:5px}.closing{gap:40px;grid-template-columns:1.25fr 1fr;padding-block:80px}.closing h2{font-size:58px}.closing>div:last-child{font-size:14px}.footer-bottom{font-size:12px}.journey-layout{grid-template-columns:1fr;gap:35px}.step-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.step-tabs button{flex-direction:column;align-items:flex-start;padding:18px 0;gap:10px;font-size:13px}.step-tabs button[aria-selected=true]{padding-left:10px}.step-tabs button:last-child{border-bottom:0}.step-photo{height:420px}.growth-grid{gap:25px}.growth-grid h3{font-size:26px}.growth-grid p{font-size:14px}.photo-gallery{grid-template-columns:repeat(2,1fr);gap:18px}.photo-gallery .gallery-item:nth-child(n){transform:none}.photo-gallery .gallery-item:last-child{grid-column:1/-1}.photo-gallery .gallery-item:last-child img{height:340px}.faq-section{gap:40px}.faq-section h2{font-size:48px}.faq-items summary{font-size:16px}.service-hero{min-height:780px}.service-hero-copy h1{font-size:75px}.service-hero-bottom{gap:30px}.service-hero-bottom p{max-width:430px;font-size:14px}.two-photo-grid .gallery-item img{height:420px}.contact-section{grid-template-columns:1fr;padding-top:145px;padding-bottom:80px;gap:70px}.contact-copy h1{font-size:80px}.contact-copy>p:not(.eyebrow){max-width:580px}.contact-form-wrap{max-width:700px}.contact-person a{font-size:14px}}
@media(max-width:600px){:root{--gutter:23px}html{scroll-padding-top:92px}body{font-size:15px}h1{font-size:58px}h2{font-size:45px;line-height:1.1}.eyebrow{font-size:12px;letter-spacing:.12em;gap:10px;margin-bottom:24px}.eyebrow>span{width:20px}.section-space{padding-block:75px}.section-heading{display:block;margin-bottom:40px}.section-heading>p{margin-top:24px;font-size:14px}.section-note{display:none}.button{font-size:13px;min-height:51px;padding:14px 21px}.film-story{height:320svh;min-height:2100px}.film-stage{height:100svh;min-height:760px}.product-story{height:105svh;min-height:820px}.product-story .film-stage{height:105svh;min-height:820px}.scene-content{padding-inline:var(--gutter)}.scene-copy{top:120px;transform:none;width:calc(100% - 46px);max-width:none;left:var(--gutter)}.scene-copy h1{font-size:clamp(53px,13.5vw,72px);line-height:1.02;letter-spacing:-.058em}.scene-copy .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:21px}.hero-description{font-size:13px;line-height:1.65;max-width:300px;margin-top:20px}.signature{font-size:22px;margin-top:8px}.hero-actions{flex-direction:row;align-items:center;gap:23px;margin-top:22px}.hero-actions .button{font-size:12px;min-height:45px;padding:12px 16px}.hero-actions .text-button{padding-inline:0}.scene-toolbox{right:0;left:0;bottom:77px;display:flex;justify-content:center;align-items:center;gap:12px}.model-label{font-size:12px;letter-spacing:.11em}.model-label i{display:none}.model-modes{margin:0;padding:3px}.model-modes button{font-size:12px;padding:6px 10px}.scene-bottom{bottom:22px}.scroll-cue{font-size:12px;letter-spacing:.12em;gap:10px}.scroll-cue>span{width:14px;height:24px}.scroll-cue>span:after{left:5px;width:2px;height:5px}.motion-toggle{font-size:12px}.scene-shade{background:linear-gradient(180deg,#05080c88 0,#05080c30 48%,transparent 63%,#05080c88 100%)}.scene-watermark{font-size:55vw;left:0;top:63%}.scene-fallback{top:54%;width:100%;height:31%;right:0;mask-image:linear-gradient(transparent,#000 25%,#000 85%,transparent)}.scene-fallback img{object-position:center 0}.scene-copy-1{top:120px;left:var(--gutter);width:calc(100% - 46px)}.scene-copy-1 h2{font-size:clamp(48px,12vw,65px)}.scene-copy-1 h2 br:last-of-type{display:none}.scene-copy-1>p:not(.eyebrow){font-size:14px;max-width:280px;margin:20px 0 13px}.scene-copy-2{top:34%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 40px)}.scene-copy-2 h2{font-size:clamp(43px,11.5vw,61px)}.scene-copy-2>p:not(.eyebrow){font-size:14px;line-height:1.8;margin:22px auto}.scene-copy-2 .eyebrow{font-size:12px}.scene-copy-2 .button{font-size:12px}.story-grid{grid-template-columns:1fr;gap:36px}.story-grid .lead{font-size:26px;margin-bottom:20px}.story-grid .smaller{font-size:19px;margin-top:0;line-height:1.75}.story-text{font-size:15px;line-height:1.85}.principles,.capability-grid{grid-template-columns:1fr;gap:28px;margin-top:50px}.principles>div,.capability-grid>article{display:grid;grid-template-columns:28px 1fr;gap:8px 14px;padding-top:22px}.principles span,.capability-grid article>span{padding-top:4px}.principles h3,.capability-grid h3{font-size:25px;margin:0}.principles p,.capability-grid p{grid-column:2;font-size:14px}.work-showcase{height:85svh;min-height:650px}.work-heading{top:55px}.work-heading h2{font-size:43px;line-height:1.08}.showcase-slide img{object-fit:cover;object-position:center}.showcase-slide[data-slide="0"] img{object-position:48% center}.showcase-slide[data-slide="2"] img{object-position:43% center}.showcase-bottom{bottom:30px;gap:20px}.showcase-caption{font-size:17px}.showcase-bottom .micro-label{font-size:12px}.showcase-controls{gap:6px}.showcase-controls button{width:35px;height:35px;font-size:12px}.platinum-feature{height:95svh;min-height:730px}.feature-backdrop img{object-position:53% center}.feature-scrim{background:linear-gradient(0deg,#05080c,#05080ca6 50%,#05080c30),linear-gradient(90deg,#05080ccc,#05080c33)}.feature-inner{justify-content:flex-end;padding-bottom:100px}.feature-copy{padding-bottom:0}.feature-copy h2{font-size:68px}.feature-copy>p:not(.eyebrow){font-size:14px;max-width:350px;margin:24px 0}.feature-copy .eyebrow{font-size:12px}.feature-footer{bottom:33px;gap:10px;font-size:12px;letter-spacing:.04em}.feature-footer i{min-width:3px}.service-row{grid-template-columns:24px 1fr;padding:25px 0;gap:10px 13px}.service-row h3{font-size:33px}.service-row p{grid-column:2;font-size:13px}.service-row:hover{padding-inline:7px}.connection-grid p:not(.eyebrow){margin:24px 0;font-size:14px}.connection-orbit{margin-top:30px;margin-bottom:-10px;aspect-ratio:1}.orbit-core{width:130px;height:130px}.orbit-core .brand-mark{width:43px;height:43px}.orbit-core span{font-size:12px}.orbit-label{font-size:12px;padding:9px 10px;letter-spacing:.07em}.orbit-label.one{top:12%;left:0}.orbit-label.two{top:8%;right:0}.orbit-label.three{bottom:12%;right:0}.orbit-label.four{bottom:16%;left:0}.team-grid{grid-template-columns:1fr;gap:40px}.team-grid figure:last-child{margin-top:0}.team-grid img,.team-grid figure:last-child img{height:340px}.team-grid figcaption{flex-direction:row;font-size:13px;align-items:baseline}.team-grid small{font-size:12px}.closing{grid-template-columns:1fr;gap:35px;padding-block:70px}.closing h2{font-size:52px}.closing p:not(.eyebrow){margin-bottom:22px}.footer-top{display:grid;grid-template-columns:1fr;padding-top:45px;gap:30px}.footer-links{max-width:360px;font-size:13px;gap:11px 23px}.footer-top>p{font-size:16px}.footer-wordmark{margin-top:50px;margin-bottom:18px;font-size:30vw}.footer-bottom{flex-wrap:wrap;font-size:12px;gap:9px 15px}.footer-bottom>span:nth-child(2){order:3;width:100%}.footer-bottom>a{margin-left:auto}.comparison{height:310px}.compare-labels{top:14px;left:10px;right:10px;font-size:12px;letter-spacing:.06em}.compare-labels span{padding:7px}.compare-divider span{width:45px;height:45px;font-size:13px}.image-caption{font-size:12px;padding-inline:20px;line-height:1.7}.craft-section{padding-top:70px}.step-tabs{grid-template-columns:repeat(2,1fr);gap:0 20px}.step-tabs button{padding:19px 0;gap:8px;min-height:97px}.step-tabs button[aria-selected=true]{padding-left:13px}.step-photo{height:300px}.step-copy{padding-top:25px}.step-copy h3{font-size:30px;line-height:1.2}.step-copy p{font-size:14px}.step-copy .micro-label{font-size:12px}.growth-grid{grid-template-columns:1fr;gap:38px;margin-top:45px;margin-bottom:36px}.growth-grid article>span{font-size:12px}.growth-grid h3{font-size:29px;margin-top:23px}.growth-grid p{font-size:14px}.photo-gallery{gap:14px;grid-template-columns:1fr 1fr}.gallery-item img{height:245px}.gallery-item>span{padding:45px 13px 14px;font-size:12px;line-height:1.4}.gallery-item b{font-size:21px}.photo-gallery .gallery-item:nth-child(3n){grid-column:1/-1}.photo-gallery .gallery-item:nth-child(3n) img{height:300px}.faq-section{grid-template-columns:1fr;gap:35px;margin-top:0}.faq-section h2{font-size:45px}.faq-items summary{font-size:16px;gap:15px}.faq-items p{font-size:14px;padding-right:10px}.service-hero{min-height:760px;height:95svh}.service-hero-photo img{object-position:56% center}.service-hero-copy{bottom:50px}.service-hero-copy h1{font-size:clamp(55px,13vw,70px)}.service-hero-copy .eyebrow{max-width:300px;font-size:12px}.service-hero-bottom{display:block;margin-top:25px}.service-hero-bottom p{font-size:14px;max-width:350px;margin-bottom:25px}.vertical-note{right:12px;top:110px;font-size:12px}.two-photo-grid{grid-template-columns:1fr;gap:22px}.two-photo-grid .gallery-item img{height:420px}.two-photo-grid .gallery-item:last-child{margin-top:0}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid>div{display:grid;grid-template-columns:25px 1fr;gap:15px}.process-grid h3{margin:0;font-size:24px;max-width:none}.process-grid span{padding-top:5px}.scope-note{font-size:12px;line-height:1.8;margin-top:35px}.process-section h2{margin-bottom:40px}.contact-section{padding-top:135px;gap:55px}.contact-copy h1{font-size:59px}.contact-copy>p:not(.eyebrow){font-size:14px}.contact-person{margin-top:33px;gap:15px}.contact-copy .contact-aside{font-size:24px!important;margin-top:35px!important}.field-pair{grid-template-columns:1fr;gap:26px}.contact-form-wrap .eyebrow{margin-bottom:30px}input,select,textarea{font-size:16px}.lightbox{padding:75px 16px 90px}.lightbox figure img{max-height:65svh}.lightbox figure{max-height:80svh}.lightbox figcaption{text-align:center;font-size:12px}.lightbox-prev,.lightbox-next{top:auto;bottom:24px}.lightbox-count{bottom:35px}.lightbox-close{right:16px;top:18px}.error-page{padding-top:170px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.film-story{height:100svh;min-height:850px}.film-stage{position:relative;min-height:850px}.scene-chapters{display:none}.showcase-slide{transform:none}.scene-copy-0{opacity:1!important;visibility:visible!important}.scene-copy-1,.scene-copy-2{display:none}.product-story,.product-story .film-stage{height:100svh;min-height:850px}}
.scene-unavailable{height:100svh;min-height:850px}.scene-unavailable .film-stage{position:relative;min-height:850px}.scene-unavailable .scene-toolbox,.scene-unavailable .scene-chapters,.scene-unavailable .motion-toggle{display:none}

/* Readable controls and body copy, including compact screens. */
.hero-description,.story-text,.principles p,.capability-grid p,.feature-copy>p:not(.eyebrow),.section-heading>p,.step-copy p,.growth-grid p,.faq-items p,.service-hero-bottom p,.contact-copy>p:not(.eyebrow),.connection-grid p:not(.eyebrow){font-size:16px}
.header-contact,.hero-actions .button,.model-modes button,.scene-chapters button,.showcase-controls button,.footer-links,.service-row p,.step-tabs button,.gallery-item>span,.lightbox button,form label{font-size:14px}
.brand small{font-size:9px}.orbit-core span{font-size:12px;letter-spacing:.06em}.orbit-label{font-size:12px;letter-spacing:.03em}
@media(max-width:600px){body{font-size:16px}.hero-description{font-size:14px;line-height:1.6}.hero-actions{gap:20px}.hero-actions .button{font-size:13px}.scene-toolbox{flex-direction:column;gap:7px;bottom:66px}.model-modes button{font-size:13px;padding:7px 12px}.model-label{font-size:12px}.scene-bottom .scroll-cue,.motion-toggle{font-size:12px;letter-spacing:.01em}.feature-footer{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px;font-size:12px;letter-spacing:.07em}.feature-footer i{display:none}.feature-inner{padding-bottom:125px}.scene-copy .eyebrow{font-size:12px;letter-spacing:.09em}.scene-copy-2 .eyebrow{font-size:12px;letter-spacing:.03em}.scene-copy-2 .eyebrow>span{display:none}.scene-copy-2 h2{font-size:clamp(40px,11vw,61px)}.orbit-label{font-size:12px;letter-spacing:0;padding:8px}.orbit-core span{font-size:10px}.gallery-item>span{font-size:13px}.showcase-bottom .micro-label{font-size:12px}.showcase-controls button{font-size:12px}.showcase-caption{font-size:16px}.footer-bottom{font-size:12px}.footer-links{font-size:14px}.team-grid small{font-size:12px}.team-grid figcaption{flex-direction:column;gap:5px}.scene-toolbox .model-modes{background:#08111dcc}.feature-copy .eyebrow{font-size:12px}.service-hero-copy .eyebrow{font-size:12px}.compare-labels{font-size:12px;gap:20px}.compare-labels span{max-width:140px}.brand small{font-size:8px}}

.two-photo-grid .gallery-item:nth-child(3){grid-column:1/-1;margin-top:0}.two-photo-grid .gallery-item:nth-child(3) img{height:400px;object-fit:contain;background:#020406}@media(max-width:600px){.two-photo-grid .gallery-item:nth-child(3) img{height:300px}}

/* Platinum workflow details preserve the existing four-stage ribbon. */
.feature-footer button{appearance:none;border:0;background:none;padding:12px 0;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;display:flex;align-items:center;gap:14px;white-space:nowrap;text-align:left;min-height:44px}
.feature-footer button span{color:#abcde7;opacity:.68;transition:transform .25s,opacity .25s;font-size:18px;font-weight:300}
.feature-footer button:hover span{transform:rotate(90deg);opacity:1}
.feature-footer button:focus-visible{outline:1px solid #c8e4f8;outline-offset:6px}
.workflow-dialog{color:#f1f4f7;background:#10171e;border:1px solid #ffffff26;border-radius:3px;padding:0;width:min(1020px,calc(100vw - 40px));max-height:calc(100dvh - 48px);overflow-y:auto;box-shadow:0 35px 160px #000b}
.workflow-dialog::backdrop{background:#02060bd6;backdrop-filter:blur(14px)}
.workflow-dialog[open]{animation:workflow-enter .25s ease-out}
.workflow-topline{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;border-bottom:1px solid #ffffff1a;font-size:12px;letter-spacing:.13em;color:#a6bacb}
.workflow-close{appearance:none;background:none;border:0;color:#eef4f9;font:inherit;letter-spacing:.03em;display:flex;gap:14px;align-items:center;min-height:44px;cursor:pointer}
.workflow-close span{font-size:25px;font-weight:300}
.workflow-nav{display:grid;grid-template-columns:repeat(4,1fr);padding:0 32px;border-bottom:1px solid #ffffff1a}
.workflow-nav button{appearance:none;background:none;border:0;border-bottom:2px solid transparent;color:#71899b;padding:20px 0;font:inherit;text-align:left;font-size:12px;cursor:pointer}
.workflow-nav button span{display:block;color:#a9b7c1;font-size:14px;margin-top:7px}
.workflow-nav button[aria-current]{border-bottom-color:#b9d8ee;color:#d2e7f7}
.workflow-nav button[aria-current] span,.workflow-nav button:hover span{color:#fff}
.workflow-panel:not([hidden]){display:grid;grid-template-columns:44% 1fr;min-height:340px}
.workflow-photo{overflow:hidden;min-height:340px;background:#080d12}
.workflow-photo img{width:100%;height:100%;object-fit:cover;display:block}
.workflow-panel[data-workflow-panel="2"] .workflow-photo img{object-fit:contain}
.workflow-copy{padding:46px 40px;align-self:center}
.workflow-copy h2{font-size:clamp(28px,3.2vw,42px);line-height:1.12;margin:16px 0 24px;font-weight:400;letter-spacing:-.025em}
.workflow-copy>p:last-child{font-size:16px;line-height:1.8;color:#bdc8d1;margin:0}
.workflow-partnership{padding:0 32px;border-top:1px solid #ffffff1a}
.workflow-partnership summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none;min-height:66px;font-size:16px;color:#d4e2ed}
.workflow-partnership summary::-webkit-details-marker{display:none}
.workflow-partnership summary span{font-size:24px;font-weight:300;transition:transform .2s}
.workflow-partnership[open] summary span{transform:rotate(45deg)}
.workflow-partnership p{font-size:15px;line-height:1.8;color:#aebecb}
.workflow-growth{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:25px 0 30px}
.workflow-growth h3{font-size:23px;font-weight:400;margin:0 0 16px}
.workflow-growth ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.workflow-growth li{font-size:13px;padding:7px 11px;border:1px solid #ffffff26;border-radius:30px;color:#d3dee6}
.workflow-bottom{padding:16px 32px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff1a}
.workflow-count{font-size:12px;letter-spacing:.13em;color:#87a2b5}
.workflow-bottom>div{display:flex;gap:22px}
.workflow-bottom button{background:none;border:0;color:#d3e9f8;font:inherit;font-size:14px;min-height:44px;cursor:pointer}
.workflow-bottom button:disabled{opacity:.3;cursor:default}
.workflow-dialog button:focus-visible,.workflow-partnership summary:focus-visible{outline:1px solid #bdd8ed;outline-offset:4px}
@keyframes workflow-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.feature-footer{flex-wrap:wrap;gap:8px 24px}.feature-footer i{display:none}.feature-footer button{flex:1 1 40%;font-size:12px;justify-content:space-between}.workflow-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.workflow-topline,.workflow-bottom{padding:10px 20px}.workflow-topline>span{font-size:10px;letter-spacing:.08em}.workflow-nav{padding:0 20px;gap:10px}.workflow-nav button{padding:15px 0}.workflow-nav button span{font-size:12px}.workflow-panel:not([hidden]){display:flex;flex-direction:column;min-height:0}.workflow-photo{height:210px;min-height:0}.workflow-photo img{height:210px}.workflow-copy{padding:28px 24px}.workflow-copy h2{margin:12px 0 18px}.workflow-partnership{padding:0 24px}.workflow-growth{grid-template-columns:1fr;gap:18px}.workflow-bottom>div{gap:16px}}
@media(prefers-reduced-motion:reduce){.workflow-dialog[open]{animation:none}.feature-footer button span{transition:none}}

#dash-page{display:contents}
/* Direct service links in the header, with the existing compact-screen menu. */
.desktop-nav { gap:clamp(14px,1.5vw,30px); white-space:nowrap; }
.header-contact { white-space:nowrap; flex-shrink:0; }
@media(max-width:1280px) {
  .header-inner { height:80px; }
  .desktop-nav,.header-contact { display:none; }
  .mobile-toggle { display:flex; flex-direction:column; gap:6px; padding:15px 0 15px 20px; }
  .mobile-toggle span { width:26px; height:1px; background:#d8e7f3; transition:transform .3s; }
  .mobile-toggle[aria-expanded=true] span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .mobile-toggle[aria-expanded=true] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
}

/* Only the native scrolling runway is reduced: new height = .94 old + .06 stage. */
@media (prefers-reduced-motion:no-preference) {
  .film-story:not(.scene-unavailable) { height:calc(max(343.1svh,2162px) + max(6svh,45px)); min-height:0; }
}
@media (max-width:900px) and (prefers-reduced-motion:no-preference) {
  .film-story:not(.scene-unavailable) { height:calc(max(343.1svh,2162px) + max(6svh,48px)); }
}
@media (max-width:600px) and (prefers-reduced-motion:no-preference) {
  .film-story:not(.scene-unavailable) { height:calc(max(300.8svh,1974px) + max(6svh,45.6px)); }
}
/* All-on-X goes straight from its interactive opening to the comparison. */
.film-story[data-opening-only] { height:auto; min-height:0; }
.film-story[data-opening-only] .film-stage { position:relative; }
.film-story[data-opening-only] .scene-copy h1 { font-size:clamp(52px,5.2vw,94px); }
@media(max-width:900px) {
  .film-story[data-opening-only] .scene-copy h1 { font-size:clamp(44px,6.1vw,55px); }
}
@media(max-width:600px) {
  .film-story[data-opening-only] .scene-copy h1 { font-size:clamp(39px,10.2vw,58px); }
}
.comparison .compare-image { background-image:none; }
.compare-image svg { display:block; width:100%; height:100%; }

/* In-page photographic workflow, matching the supplied recording. */
.experience-journey { margin-top:0; }
.experience-heading { padding-top:100px; margin-bottom:64px; }
.experience-heading>p { max-width:405px; }
.experience-stage { position:relative; overflow:hidden; isolation:isolate; background:#060a10; touch-action:pan-y; }
.experience-panels { display:grid; min-height:860px; }
.experience-panel { grid-area:1 / 1; position:relative; min-width:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .7s ease,visibility 0s .7s; }
.experience-panel.is-active { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .7s ease,visibility 0s; z-index:1; }
.experience-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% 50%; opacity:.87; transform:translate3d(var(--slide-from,36px),0,0) scale(1.045); transition:transform 1s cubic-bezier(.2,.65,.2,1); }
.experience-panel.is-active .experience-image { transform:translate3d(0,0,0) scale(1); }
.experience-scrim { position:absolute; inset:0; background:linear-gradient(90deg,#05080cef 0%,#05080ccc 28%,#05080c60 55%,#05080c12 85%),linear-gradient(0deg,#05080cf2,transparent 35%); }
.experience-content { position:relative; padding-top:78px; padding-bottom:252px; }
.experience-copy { width:46%; max-width:585px; opacity:0; transform:translate3d(var(--copy-from,25px),12px,0); transition:opacity .5s ease,transform .75s cubic-bezier(.2,.65,.2,1); }
.experience-panel.is-active .experience-copy { opacity:1; transform:translate3d(0,0,0); }
.experience-copy .eyebrow { margin-bottom:30px; }
.experience-copy h3 { font-size:clamp(40px,4.15vw,70px); line-height:1.12; letter-spacing:-.035em; font-weight:400; margin-bottom:32px; }
.experience-copy h3 em { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; }
.experience-copy>p:not(.eyebrow) { font-size:16px; line-height:1.8; color:#c7cfd8; max-width:440px; }
.experience-copy .underlined { display:inline-block; margin-top:34px; font-size:14px; color:#ecf3f9; }
.experience-growth .experience-copy { width:55%; max-width:700px; }
.experience-growth .experience-scrim { background:linear-gradient(90deg,#05080cf5 0%,#05080ce8 37%,#05080c91 68%,#05080c38),linear-gradient(0deg,#05080cf2,transparent 35%); }
.experience-growth .experience-copy h3 { margin-bottom:22px; }
.experience-growth .experience-copy>p:not(.eyebrow) { max-width:610px; line-height:1.65; }
.experience-copy h4 { color:#e5edf5; font-size:20px; font-weight:400; margin:24px 0 12px; }
.experience-marketing { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:9px 22px; margin:0 0 16px; padding:0; color:#c7cfd8; font-size:15px; }
.experience-marketing li { position:relative; padding-left:14px; }
.experience-marketing li:before { content:''; position:absolute; left:0; top:.7em; width:4px; height:1px; background:#a9c0d5; }
.experience-navigation { position:absolute; bottom:34px; left:0; right:0; z-index:3; }
.experience-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; }
.experience-tabs button { position:relative; min-height:62px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#8f9eac; border-top:1px solid #a4bcd328; padding:15px 0; font-size:13px; letter-spacing:.065em; text-align:left; text-transform:uppercase; transition:color .3s; }
.experience-tabs button:after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:#c4d9e9; transform:scaleX(0); transform-origin:left; transition:transform .55s cubic-bezier(.2,.65,.2,1); }
.experience-tabs button span { font-size:12px; color:#8093a5; }
.experience-tabs button[aria-selected=true] { color:#f0f6fb; }
.experience-tabs button[aria-selected=true]:after { transform:scaleX(1); }
.experience-tabs button:hover { color:#f0f6fb; }
.experience-tabs button:focus-visible,.experience-panel:focus-visible { outline:1px solid #c2d8eb; outline-offset:5px; }
.experience-guide { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:center; gap:28px; padding-top:26px; }
.experience-progress { min-width:0; }
.experience-guide-label { margin:0 0 7px; color:var(--ink,#f0f6fb); font-size:16px; line-height:1.4; }
.experience-status { margin:0; color:var(--muted,#b8c4cd); font-size:13px; line-height:1.4; font-variant-numeric:tabular-nums; }
.experience-current-label { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.experience-step-controls { grid-column:2 / span 3; display:flex; justify-self:start; gap:12px; }
.experience-step-button { min-height:48px; padding:13px 22px; border:1px solid #b6ae9870; background:#07131f85; color:var(--ink,#f0f6fb); font:inherit; font-size:14px; line-height:1.4; transition:background .25s,border-color .25s,color .25s; }
.experience-step-next { background:var(--blue,#cbbb98); border-color:var(--blue,#cbbb98); color:#07131f; }
.experience-step-button:hover:not(:disabled) { background:#e0d2b2; border-color:#e0d2b2; color:#07131f; }
.experience-step-button:focus-visible { outline:2px solid #dfcba5; outline-offset:5px; }
.experience-step-button:disabled { opacity:.42; cursor:default; }
@media(max-width:1100px) {
  .experience-copy { width:51%; }
  .experience-growth .experience-copy { width:65%; }
  .experience-tabs { gap:20px; }
  .experience-guide { column-gap:20px; }
  .experience-tabs button { font-size:12px; letter-spacing:.035em; }
}
@media(max-width:700px) {
  .experience-heading { padding-top:72px; margin-bottom:42px; }
  .experience-stage { display:flex; flex-direction:column; }
  .experience-panels { display:block; position:relative; min-height:0; }
  .experience-panel { position:absolute; inset:0; }
  .experience-panel.is-active { position:relative; min-height:660px; }
  .experience-content { padding-top:42px; padding-bottom:64px; }
  .experience-copy,.experience-growth .experience-copy { width:100%; max-width:560px; }
  .experience-copy h3 { font-size:clamp(38px,9vw,58px); }
  .experience-image { object-position:70% center; opacity:.66; }
  .experience-scrim { background:linear-gradient(90deg,#05080ce8,#05080c83),linear-gradient(0deg,#05080c 0%,transparent 70%); }
  .experience-growth .experience-scrim { background:#05080cd6; }
  .experience-navigation { position:relative; inset:auto; order:-1; width:100%; padding-top:20px; padding-bottom:10px; }
  .experience-guide { display:flex; justify-content:flex-start; gap:18px; padding:22px 0 16px; }
  .experience-guide-label { font-size:14px; }
  .experience-step-button { padding:12px 15px; font-size:13px; }
  .experience-tabs { grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px 18px; }
  .experience-tabs button { min-height:60px; gap:6px; line-height:1.5; letter-spacing:0; }
  .experience-marketing { gap:10px 16px; font-size:14px; }
}
@media(max-width:520px) {
  .experience-guide { align-items:stretch; flex-direction:column; gap:16px; }
  .experience-progress { display:flex; align-items:baseline; justify-content:space-between; gap:16px; }
  .experience-guide-label { margin-bottom:0; }
  .experience-step-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .experience-step-button { min-width:0; padding-inline:12px; }
}
@media(max-width:360px) { .experience-marketing { grid-template-columns:1fr; } .experience-tabs { gap:6px 10px; } }
@media(prefers-reduced-motion:reduce) {
  .experience-panel,.experience-copy,.experience-image,.experience-tabs button:after,.experience-step-button { transition:none; transform:none; }
}

/* Service refinements inherit Dash's existing palette and typography. */
.department-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(32px,7vw,110px); margin-top:68px; }
.department-grid article { border-top:1px solid var(--line); padding-top:28px; }
.department-grid h3,.implant-display h3 { font-size:clamp(28px,3vw,43px); line-height:1.15; letter-spacing:-.035em; font-weight:400; }
.department-list { list-style:none; margin:28px 0 0; padding:0; }
.department-list li { position:relative; padding:15px 0 15px 20px; border-bottom:1px solid #b2c7df17; font-size:16px; line-height:1.75; color:#c5d0dc; }
.department-list li:before { content:''; position:absolute; left:0; top:29px; width:6px; height:1px; background:#a4c8eb; }
.department-list span { color:#9eafbf; }
.department-list strong { color:#edf3f9; font-weight:600; }
.appliance-collection { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 80px; padding:0; margin:64px 0 0; list-style:none; }
.appliance-collection li { border-top:1px solid var(--line); padding:28px 0; }
.appliance-collection h3 { font-size:clamp(25px,2.6vw,36px); }
.appliance-collection p { margin:18px 0 0; color:#aebecd; font-size:16px; line-height:1.8; }
.models-promise { color:#d8e7f5; font-size:clamp(18px,1.65vw,25px); line-height:1.5; }
.models-promise em { font-family:var(--serif); font-weight:400; }
.service-models-promise { padding-bottom:48px; }
.service-models-promise .models-promise { border-top:1px solid var(--line); padding-top:30px; margin:0; }
.expertise-aside { max-width:335px; align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; gap:32px; }
.expertise-aside .models-promise { margin:0; padding-top:60px; }
.expertise-aside>p:last-child { color:#9ca8b6; font-size:16px; line-height:1.8; margin:0; }
.closing .closing-inquiry { font-size:16px; line-height:1.7; color:#9eafc0; margin:26px 0 0; }
.closing-inquiry a { color:#dceafa; border-bottom:1px solid #8dabc080; padding-bottom:3px; transition:color .2s,border-color .2s; }
.closing-inquiry a:hover { color:white; border-color:white; }
.aox-experience-intro { max-width:500px; margin:28px 0 0; font-size:15px; line-height:1.8; color:#aebccc; }
.film-story[data-opening-only] .film-stage { min-height:1000px; }
.film-story[data-opening-only] .scene-copy-0 { top:145px; transform:none!important; }

/* One control unfolds both original, three-dimensional restoration assemblies. */
.implant-study { margin-top:58px; }
.implant-study-grid { display:grid; grid-template-columns:minmax(0,1fr) 188px minmax(0,1fr); gap:22px; align-items:start; }
.implant-display { min-width:0; text-align:center; }
.implant-display h3 { margin:0 0 18px; }
.implant-viewport { position:relative; height:500px; min-width:0; background:radial-gradient(ellipse at 50% 40%,#1724327a,transparent 67%); }
.implant-canvas { position:absolute; inset:0; touch-action:pan-y; cursor:grab; }
.implant-canvas:active { cursor:grabbing; }
.implant-canvas canvas { display:block; width:100%; height:100%; }
.implant-study-control { align-self:center; display:flex; align-items:center; flex-direction:column; text-align:center; padding-top:50px; }
.implant-expand { min-width:148px; justify-content:center; }
.implant-system-note { margin:28px 0 0; font-family:var(--serif); font-size:26px; line-height:1.25; color:#d9e8f8; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .55s ease,transform .65s ease,visibility 0s .65s; }
.implant-study.is-expanded .implant-system-note { opacity:1; visibility:visible; transform:none; transition-delay:0s; }
.implant-view-hint { margin:3px 0 0; color:#8499ad; font-size:12px; letter-spacing:.07em; text-transform:uppercase; }
.implant-component-key { display:grid; grid-template-columns:1fr 1fr; gap:7px 18px; text-align:left; padding:0; margin:22px 0 0; list-style:none; color:#a9bdce; font-size:13px; line-height:1.6; opacity:0; visibility:hidden; transition:opacity .4s,visibility 0s .4s; }
.implant-study.is-expanded .implant-component-key,.implant-study.is-unavailable .implant-component-key { opacity:1; visibility:visible; transition-delay:0s; }
.implant-component-key li { border-top:1px solid #b0c9df22; padding-top:7px; }
.implant-component-labels { position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .5s; }
.implant-study.is-expanded .implant-component-labels { opacity:1; }
.implant-component-label { position:absolute; left:0; padding:4px 7px; border-left:1px solid #a9c8df7a; background:#05080caa; color:#c8d9e8; font-size:12px; white-space:nowrap; transform:translateY(-50%); }
.implant-study-caption { text-align:center; color:#8498ad; font-size:13px; margin:35px 0 0; }
.implant-study-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.implant-materials { margin-top:74px; border-top:1px solid var(--line); padding-top:36px; }
.implant-materials .department-list { display:grid; grid-template-columns:2fr repeat(4,1fr); gap:22px; margin-top:18px; }
.implant-study.is-unavailable .implant-view-hint { display:none; }
.implant-study.is-unavailable .implant-viewport { height:auto; min-height:180px; }
.implant-study.is-unavailable .implant-viewport:after { content:'Interactive 3-D preview unavailable on this device'; position:relative; display:block; padding:65px 28px; color:#aebdcc; font-size:14px; }
@media(min-width:1700px) { .film-story[data-opening-only] .film-stage { min-height:1100px; } }
@media(max-width:1000px) {
  .implant-study-grid { grid-template-columns:minmax(0,1fr) 156px minmax(0,1fr); gap:12px; }
  .implant-system-note { font-size:23px; }
  .implant-viewport { height:420px; }
  .implant-materials .department-list { grid-template-columns:2fr 1fr 1fr; }
}
@media(max-width:700px) {
  .department-grid,.appliance-collection { grid-template-columns:1fr; gap:40px; margin-top:42px; }
  .expertise-aside .models-promise { padding-top:0; }
  .expertise-aside { max-width:100%; gap:22px; margin-top:24px; }
  .implant-study-grid { grid-template-columns:1fr; gap:25px; }
  .implant-study-control { padding:8px 0; min-height:120px; width:100%; max-width:340px; justify-self:center; }
  .implant-system-note { font-size:26px; margin-top:24px; }
  .implant-viewport { height:440px; }
  .implant-component-key { max-width:350px; margin-inline:auto; }
  .implant-materials .department-list { grid-template-columns:1fr 1fr; gap:8px 22px; }
  .implant-materials .department-list li:first-child { grid-column:1 / -1; }
}
@media(max-width:600px) {
  .film-story[data-opening-only] .film-stage { min-height:1160px; }
  .film-story[data-opening-only] .scene-copy-0 { top:118px; }
  .aox-experience-intro { font-size:14px; line-height:1.7; max-width:440px; margin-top:24px; }
}
@media(prefers-reduced-motion:reduce) {
  .implant-system-note,.implant-component-key,.implant-component-labels { transition:none; transform:none; }
}

@font-face{font-family:"Dash Atelier";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/approved-font-8.ttf) format("truetype")}
/* Theme 01: Immersive Sapphire.
   Preserve all scene/stage dimensions, transforms, assets, markup and timing.
   The existing cinematic opening replaces the static concept's photograph. */
:root {
  --bg:#07131f;
  --panel:#0e2538;
  --ink:#f0eadf;
  --muted:#bdc7ce;
  --line:rgba(182,174,152,.27);
  --blue:#b6ae98;
  --display:'Dash Atelier',Georgia,serif;
  --gutter:clamp(24px,5.7vw,96px);
}
html,body { background:var(--bg); }
body { color:var(--ink); }
::selection { background:#b6ae98; color:#07131f; }
h1,h2,h3 { font-family:var(--display); font-weight:400; letter-spacing:-.025em; font-synthesis:none; }
h1 em,h2 em,h3 em { font-family:inherit; font-style:normal; font-weight:400; letter-spacing:inherit; color:inherit; }
h1 { font-size:clamp(68px,6.5vw,116px); line-height:1.03; }
h2 { font-size:clamp(50px,4.75vw,84px); line-height:1.08; }
.eyebrow,.section-note,.micro-label { color:var(--blue); }
.eyebrow { font-size:12px; letter-spacing:.17em; }
.eyebrow>span { background:var(--blue); }
.section-note { font-size:12px; line-height:1.8; letter-spacing:.13em; }
.section-space { padding-block:clamp(94px,9vw,152px); }
.section-heading { margin-bottom:66px; }
:focus-visible { outline-color:#d4c5a7; }

/* Direct navigation stays visible at its existing desktop breakpoint. */
.site-header { background:linear-gradient(#07131fe8,#07131f30); border-bottom-color:#b6ae981c; }
.site-header.is-scrolled { background:#07131ff2; border-bottom-color:var(--line); }
.brand { color:var(--ink); }
.desktop-nav { gap:clamp(14px,1.35vw,24px); font-size:14px; }
.desktop-nav>a { color:#bdc7ce; }
.desktop-nav>a:hover,.desktop-nav>a[aria-current=page] { color:var(--ink); }
.desktop-nav>a:after { background:var(--blue); }
.header-contact { color:var(--ink); border-color:#b6ae9866; font-weight:400; }
.header-contact:hover { background:#b6ae9812; border-color:#d4c5a7; }
.contact-dot { background:var(--blue); box-shadow:none; }
.mobile-toggle span { background:var(--ink); }
.mobile-nav:not([hidden]),.site-header:has(.mobile-nav:not([hidden])) { background:#07131ffb; }
.mobile-nav a { color:var(--ink); }

/* Quiet outline controls replace the bright blue treatment; motion is retained. */
.button { font-weight:500; font-size:14px; letter-spacing:.015em; }
.button.primary { color:var(--ink); border-color:#b6ae9880; background:transparent; box-shadow:none; }
.button.primary:hover { color:var(--ink); background:#b6ae9818; border-color:#d4c5a7; box-shadow:none; }
.button.text-button,.underlined { color:var(--ink); border-bottom-color:#b6ae9880; }
.button.text-button:hover,.underlined:hover { border-bottom-color:#e0d2b6; }

/* Same WebGL canvas and choreography, now in the chosen sapphire setting. */
.film-stage { background:#07131f; }
.scene-glow { background:radial-gradient(ellipse at 70% 34%,#183952b0,transparent 59%),radial-gradient(ellipse at 28% 100%,#10283a88,transparent 62%); }
.scene-shade { pointer-events:none; background:linear-gradient(90deg,#07131f70,transparent 65%),linear-gradient(0deg,#07131fcc,transparent 25%); }
.scene-watermark { color:#d7ceb006; }
body[data-page=home] .scene-copy-0 h1 { font-size:clamp(75px,6.8vw,122px); line-height:1.02; }
.scene-copy-1 h2 { font-size:clamp(57px,5.6vw,96px); }
.scene-copy-2 h2 { font-size:clamp(62px,7.2vw,124px); }
.hero-description,.aox-experience-intro { color:#bdc7ce; }
.signature { font-family:var(--display); font-style:normal; color:#dcd1bc; font-size:28px; }
.scene-chapters button { color:#a5b5c2; font-size:14px; }
.scene-chapters button[aria-current=true] { color:var(--ink); }
.scene-chapters b { color:var(--blue); }
.model-label { color:#bdc7ce; }
.model-label i { background:var(--blue); box-shadow:none; }
.model-modes { border-color:#b6ae9860; background:#07131f99; }
.model-modes button { color:#bdc7ce; font-size:13px; }
.model-modes button[aria-pressed=true] { background:#b6ae9824; color:var(--ink); }
.scroll-cue,.motion-toggle { color:#bdc7ce; }
.film-progress>span { background:var(--blue); }
.film-story[data-opening-only] .scene-copy h1 { line-height:1.03; }
.aox-experience-intro { font-size:16px; }

/* Editorial type and generous space, with the exact approved story intact. */
.story-section .story-grid>h2 { font-size:clamp(75px,7.3vw,118px); line-height:1.02; }
.story-grid .lead:not(.smaller) { font-family:var(--display); font-size:clamp(37px,3.2vw,53px); line-height:1.2; letter-spacing:-.015em; color:var(--ink); }
.story-grid .lead.smaller { font-family:var(--sans); color:#d0d7dc; font-size:21px; line-height:1.8; letter-spacing:0; }
.story-text { color:var(--muted); font-size:17px; line-height:1.9; }
.principles h3,.capability-grid h3,.process-grid h3 { font-size:clamp(29px,2.5vw,40px); line-height:1.15; }
.principles span,.capability-grid article>span,.process-grid span { color:var(--blue); }
.principles p,.capability-grid p,.process-grid p { color:var(--muted); font-size:16px; }

/* Preserve the three-image showcase and its original transition controls. */
.showcase-overlay { pointer-events:none; background:linear-gradient(180deg,#07131fdb,transparent 53%,#07131feb); }
.work-heading h2 { font-size:clamp(50px,5.3vw,92px); line-height:1.07; }
.showcase-caption { font-family:var(--display); color:var(--ink); font-size:32px; line-height:1.2; }
.showcase-controls button { color:var(--ink); border-color:#b6ae9880; }
.showcase-controls button[aria-pressed=true] { background:var(--ink); color:#07131f; border-color:var(--ink); }

/* Theme 01's two-column expertise index retains every shortcut and description. */
.expertise { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr); gap:clamp(50px,6.4vw,110px); }
.expertise .section-heading { display:block; margin-bottom:0; }
.expertise .section-heading h2 { font-size:clamp(48px,4.35vw,74px); margin-top:26px; }
.expertise-aside { max-width:380px; gap:26px; margin-top:33px; }
.expertise-aside .models-promise { padding-top:0; font-size:24px; color:#d7c9ae; }
.expertise-aside>p:last-child { color:var(--muted); }
.service-list { border-top-color:var(--line); }
.expertise .service-row { grid-template-columns:28px minmax(0,1fr) 63px; gap:7px 18px; padding:25px 0; }
.expertise .service-row h3 { font-size:clamp(34px,3vw,48px); line-height:1.1; }
.expertise .service-row p { grid-column:2; grid-row:2; font-size:14px; color:var(--muted); }
.expertise .service-view { grid-column:3; grid-row:1 / 3; font-size:14px; color:var(--blue); }
.service-row>span:first-child { color:var(--blue); }
.service-row:hover { color:var(--ink); background:#b6ae9806; }

.connection-section { background:radial-gradient(ellipse at 80% 45%,#18395277,transparent 65%),#0e2538; border-block-color:#b6ae9825; }
.connection-grid p:not(.eyebrow) { color:var(--muted); }
.orbit-line { border-color:#b6ae9838; }
.orbit-core { border-color:#b6ae9855; color:var(--ink); }
.orbit-label { color:#bdc7ce; }
.team-grid { gap:clamp(28px,3vw,50px); }
.team-grid figcaption>span { font-family:var(--display); font-size:28px; color:var(--ink); }
.team-grid figcaption small { color:var(--blue); }

/* Panoramic service photography and coordinated department typography. */
.service-hero-shade { pointer-events:none; background:linear-gradient(0deg,#07131f 0%,#07131fc9 29%,#07131f18 85%),linear-gradient(90deg,#07131f55,transparent 70%); }
.service-hero-copy h1 { font-size:clamp(72px,7vw,126px); line-height:1.04; }
.service-hero-bottom p { color:#d0d7dc; }
.vertical-note { color:#d2c8b4; }
.department-grid h3,.implant-display h3 { font-size:clamp(35px,3.15vw,48px); line-height:1.12; }
.department-list li { color:#c8d1d8; border-bottom-color:#b6ae9829; }
.department-list li:before { background:var(--blue); }
.department-list strong { color:var(--ink); }
.department-list span,.appliance-collection p { color:var(--muted); }
.appliance-collection h3 { font-size:clamp(31px,2.8vw,43px); line-height:1.15; }
.models-promise { color:#d9ccb3; }
.implant-system-note { color:#ded3be; }
.implant-view-hint,.implant-component-key,.implant-study-caption { color:#b4c1cc; }
.implant-component-label { color:var(--ink); border-left-color:var(--blue); background:#07131fce; }
.implant-component-key li { border-color:#b6ae9833; }
.implant-materials .department-list li { font-size:16px; }
.gallery-item span { background:linear-gradient(transparent,#07131fea); color:var(--ink); }

/* The five slides, registered comparison and their animation are unchanged. */
.experience-stage { background:#07131f; }
.experience-scrim { pointer-events:none; background:linear-gradient(90deg,#07131ff2,#07131fce 28%,#07131f60 55%,#07131f12 85%),linear-gradient(0deg,#07131ff2,transparent 35%); }
.experience-growth .experience-scrim { background:linear-gradient(90deg,#07131ff5,#07131fe8 37%,#07131f91 68%,#07131f38),linear-gradient(0deg,#07131ff2,transparent 35%); }
.experience-copy h3 { font-family:var(--display); font-size:clamp(46px,4.8vw,76px); line-height:1.1; }
.experience-copy h3 em { font-family:inherit; font-style:normal; letter-spacing:inherit; }
.experience-copy h4 { font-family:var(--display); font-size:29px; color:var(--ink); }
.experience-copy>p:not(.eyebrow),.experience-marketing { color:#d0d7dc; }
.experience-tabs button { color:#a6b7c4; font-size:14px; border-color:#b6ae9850; }
.experience-tabs button[aria-selected=true] { color:var(--ink); }
.experience-tabs button:after { background:var(--blue); }
.experience-tabs button span { color:var(--blue); }
.experience-marketing li:before { background:var(--blue); }
.comparison { border-color:#b6ae9850; }
.comparison-label { color:var(--ink); }
.faq-items details { border-color:var(--line); }
.faq-items summary { color:var(--ink); }
.faq-items p { color:var(--muted); }

/* A centered, full-width invitation closes every route. No copy is replaced. */
.closing.wrap { display:block; max-width:none; text-align:center; padding-block:95px; background:#102638; border-top-color:#b6ae9825; }
.closing>div { max-width:1120px; margin-inline:auto; }
.closing .eyebrow { justify-content:center; }
.closing h2 { font-size:clamp(58px,6.2vw,104px); line-height:1.04; }
.closing>div:last-child { margin-top:35px; }
.closing>div:last-child>p { color:var(--muted); margin-inline:auto; }
.closing .closing-inquiry { color:var(--muted); }
.closing-inquiry a { color:var(--ink); border-color:#b6ae9880; }
.site-footer { background:#050e17; }
.footer-top { padding-top:70px; }
.footer-top>p { font-family:var(--display); font-size:32px; color:var(--ink); line-height:1.2; }
.footer-links,.footer-bottom { color:#aebdc7; }
.footer-wordmark { color:#c6baa40d; }
.contact-copy h1 { font-size:clamp(66px,6.1vw,106px); }
.contact-copy>p:not(.eyebrow),.contact-aside { color:var(--muted); }
.contact-monogram { color:#ded0b4; border-color:#b6ae9870; background:#b6ae9808; }
.contact-form-wrap { background:#0e253855; border:1px solid #b6ae9838; padding:clamp(28px,3vw,52px); }
.contact-form-wrap label { color:#d0d7dc; }
.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select { background:#07131f; color:var(--ink); border-color:#b6ae9860; }
.contact-form-wrap input:focus,.contact-form-wrap textarea:focus,.contact-form-wrap select:focus { border-color:#d4c5a7; box-shadow:none; }
.contact-form-wrap input::placeholder,.contact-form-wrap textarea::placeholder { color:#9daebc; }
.form-note,.contact-form-wrap label span { color:#b3c0ca; }
.lightbox { background:#07131ff7; }

@media(min-width:901px) and (max-height:820px) {
  body[data-page=home] .scene-copy-0 h1 { font-size:clamp(66px,6vw,84px); }
}
@media(min-width:701px) and (max-width:1100px) {
  .experience-tabs button { font-size:12px; }
}
@media(max-width:1160px) {
  .header-inner { gap:20px; }
  .expertise { gap:40px; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
  .expertise .section-heading h2 { font-size:52px; }
}
@media(max-width:900px) {
  :root { --gutter:28px; }
  .section-space { padding-block:90px; }
  body[data-page=home] .scene-copy-0 h1 { font-size:67px; }
  .scene-copy-1 h2 { font-size:65px; }
  .scene-copy-2 h2 { font-size:73px; }
  .story-section .story-grid>h2 { font-size:76px; }
  .story-grid .lead:not(.smaller) { font-size:38px; }
  .story-grid .lead.smaller { font-size:19px; }
  .service-hero-copy h1 { font-size:83px; }
  .expertise { display:block; }
  .expertise .section-heading { display:flex; margin-bottom:42px; }
  .expertise .section-heading h2 { font-size:58px; }
  .expertise-aside { max-width:300px; margin-top:0; }
  .expertise .service-row { grid-template-columns:32px minmax(0,1fr) 65px; }
  .expertise .service-view { display:block; }
  .team-grid figcaption>span { font-size:26px; }
  .closing.wrap { padding-block:80px; }
}
@media(max-width:700px) {
  .experience-copy h3 { font-size:clamp(42px,9vw,60px); }
  .experience-tabs button { font-size:13px; flex-direction:column; align-items:flex-start; justify-content:center; gap:4px; }
  .experience-scrim { background:linear-gradient(90deg,#07131feb,#07131f96),linear-gradient(0deg,#07131f,transparent 75%); }
  .experience-growth .experience-scrim { background:#07131fdc; }
  .expertise .section-heading { display:block; }
  .expertise-aside { max-width:none; margin-top:30px; }
  .expertise-aside .models-promise { font-size:25px; }
  .department-grid h3,.implant-display h3 { font-size:38px; }
}
@media(max-width:600px) {
  :root { --gutter:23px; }
  h1 { font-size:59px; }
  h2 { font-size:50px; line-height:1.09; }
  .section-space { padding-block:76px; }
  .section-heading { margin-bottom:42px; }
  .eyebrow { font-size:12px; letter-spacing:.12em; }
  .button { font-size:14px; }
  body[data-page=home] .scene-copy-0 h1 { font-size:clamp(53px,13.6vw,72px); line-height:1.02; letter-spacing:-.028em; }
  .scene-copy-1 h2 { font-size:clamp(49px,12.5vw,65px); }
  .scene-copy-2 h2 { font-size:clamp(45px,11.7vw,63px); }
  .scene-shade { background:linear-gradient(180deg,#07131f77,transparent 60%,#07131f88); }
  .signature { font-size:25px; }
  .hero-actions { gap:18px; }
  .hero-actions .button { font-size:13px; }
  .model-modes button { font-size:12px; }
  .aox-experience-intro { font-size:16px; line-height:1.65; }
  .story-section .story-grid>h2 { font-size:clamp(63px,16vw,84px); }
  .story-grid .lead:not(.smaller) { font-size:39px; }
  .story-grid .lead.smaller { font-size:19px; }
  .story-text { font-size:16px; line-height:1.85; }
  .principles h3,.capability-grid h3,.process-grid h3 { font-size:31px; }
  .principles p,.capability-grid p,.process-grid p { font-size:16px; }
  .work-heading h2 { font-size:49px; }
  .showcase-caption { font-size:26px; }
  .expertise .section-heading h2 { font-size:53px; }
  .expertise .service-row { grid-template-columns:24px minmax(0,1fr); gap:9px 12px; }
  .expertise .service-row h3 { font-size:37px; }
  .expertise .service-view { display:none; }
  .expertise .service-row p { font-size:15px; }
  .service-hero-copy h1 { font-size:clamp(56px,13.8vw,78px); }
  .service-hero-bottom p { font-size:16px; }
  .appliance-collection h3 { font-size:34px; }
  .closing.wrap { padding-block:72px; }
  .closing h2 { font-size:clamp(51px,13.5vw,72px); }
  .closing>div:last-child { margin-top:30px; }
  .contact-copy h1 { font-size:clamp(53px,13.5vw,72px); }
  .contact-form-wrap { padding:26px 22px; }
}
@media(max-width:380px) {
  .experience-tabs { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Theme 01 layout. Every rule is scoped to Home or its exclusive class names. */
body[data-page=home] .site-header { background:#07131ff5; border-bottom:1px solid #b6ae9828; }
body[data-page=home] .header-inner { max-width:none; }
body[data-page=home] .desktop-nav { margin-left:auto; }
body[data-page=home] .header-contact { margin-left:24px; }
body[data-page=home] .contact-dot { display:none; }
.home-theme-one { --home-pad:clamp(25px,4.3vw,82px); }
.home-kicker { margin:0; color:#b6ae98; font-size:12px; line-height:1.7; letter-spacing:.16em; }
.home-outline { display:inline-block; min-height:50px; padding:13px 25px; border:1px solid #b6ae9880; font-size:14px; line-height:1.6; color:var(--ink); transition:background .25s,border-color .25s; }
.home-outline:hover { background:#b6ae9818; border-color:#ded0b4; }
.home-text-link { display:inline-block; font-size:14px; line-height:1.6; padding-bottom:7px; border-bottom:1px solid #b6ae9880; }
.home-text-link:hover { border-color:#f0eadf; }
.home-theme-one [id] { scroll-margin-top:120px; }

/* Same scroll runway and stage dimensions as the approved animation. */
body[data-page=home] .scene-glow { background:radial-gradient(ellipse at 50% 28%,#18395290,transparent 58%); }
body[data-page=home] .scene-shade { background:linear-gradient(0deg,#07131f 0%,#07131ff7 25%,#07131f90 39%,transparent 55%); }
.home-hero-copy { position:absolute; inset:0; pointer-events:none; z-index:2; text-align:center; }
.home-hero-welcome { position:absolute; top:125px; left:25px; right:25px; color:#d8ccba; font-size:13.8px; }
.home-hero-title { position:absolute; bottom:260px; left:25px; right:25px; }
.home-hero-title h1 { font-family:var(--display); font-size:clamp(66px,6vw,96px); line-height:1.02; font-weight:400; letter-spacing:-.025em; margin:0; }
.home-hero-details { position:absolute; bottom:90px; left:25px; right:25px; min-height:155px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; }
.home-hero-details .home-signature { margin:8px 0 14px; font-family:var(--display); font-size:26px; line-height:1.3; color:#e4d9c5; }
.home-hero-details .home-outline { pointer-events:auto; min-height:46px; padding-block:11px; }
.home-animation-message { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:calc(100% - 80px); max-width:1050px; z-index:3; text-align:center; pointer-events:none; opacity:0; visibility:hidden; text-shadow:0 3px 35px #07131f; }
.home-animation-message h2 { margin:0; font-family:var(--display); font-weight:400; font-size:clamp(64px,7.2vw,124px); line-height:1.04; letter-spacing:-.025em; }
.home-animation-message h2 em { color:#ded0b4; }
.home-animation-message p { max-width:580px; margin:28px auto 0; color:#c8d1d7; font-size:18px; line-height:1.75; }
body[data-page=home] .scene-toolbox { bottom:19px; top:auto; right:auto; left:50%; transform:translateX(-50%); width:max-content; z-index:4; }
body[data-page=home] .model-label { display:none; }
body[data-page=home] .model-modes { background:transparent; }
body[data-page=home] .model-modes button { padding:9px 14px; font-size:13px; }
body[data-page=home] .scene-bottom { bottom:0; height:79px; padding-block:0; }
body[data-page=home] .scene-bottom:before { content:''; position:absolute; top:0; left:var(--gutter); right:var(--gutter); height:1px; background:#b6ae9838; }
body[data-page=home] .scene-chapters { order:0; gap:22px; }
body[data-page=home] .scene-chapters button { text-transform:uppercase; font-size:12px; letter-spacing:.04em; }
body[data-page=home] .scene-bottom .scroll-cue { display:none; }
body[data-page=home] .motion-toggle { margin-left:auto; }
body[data-page=home] .scene-fallback { top:120px; left:15%; right:15%; width:70%; height:34%; mask-image:linear-gradient(0deg,transparent,#000 20%,#000 80%,transparent); }
body[data-page=home] .scene-fallback svg { width:100%; height:100%; display:block; }

.home-story { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:100px; padding:150px var(--home-pad) 145px; }
.home-story .home-kicker { font-size:14px; }
.home-story-statement h2 { margin:30px 0 0; font-size:clamp(76px,7.7vw,128px); line-height:1.02; }
.home-small-note { margin:42px 0 0; color:#a7b6c2; font-size:19px; line-height:1.7; }
.home-story-features { display:grid; gap:32px; max-width:620px; margin:50px 0 0; padding:0; list-style:none; }
.home-story-features li { display:grid; grid-template-columns:16px minmax(0,1fr); gap:17px; align-items:start; }
.home-feature-star { width:16px; height:16px; margin-top:8px; fill:#b6ae98; }
.home-story-features h3 { margin:0; font-family:var(--display); font-size:clamp(24px,1.85vw,30px); line-height:1.25; font-weight:400; letter-spacing:0; }
.home-story-features p { margin:12px 0 0; color:#a7b6c2; font-size:clamp(16px,1.13vw,18px); line-height:1.7; }
.home-story-connect { margin:32px 0 0 33px; }
.home-story-connect:focus-visible { outline:2px solid #d8ccba; outline-offset:5px; }
.home-story-body h2 { margin:24px 0 0; font-size:clamp(54px,5.1vw,84px); line-height:1.04; }
.home-story-copy { margin:30px 0 32px; font-size:clamp(18px,1.25vw,21px); color:#bdc7ce; line-height:1.85; }
.home-story .home-text-link { font-size:16px; }
.home-work { padding:90px var(--home-pad); background:#0e2538; }
.home-section-title { display:flex; align-items:flex-end; justify-content:space-between; gap:60px; margin-bottom:45px; }
.home-section-title h2 { margin:20px 0 0; max-width:820px; font-size:clamp(48px,4.3vw,68px); line-height:1.06; }
.home-section-title>.home-text-link { flex-shrink:0; }
.home-work-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.home-work-card { display:block; width:100%; min-width:0; padding:0; border:0; background:none; color:inherit; text-align:left; cursor:zoom-in; }
.home-work-photo { height:clamp(245px,19.1vw,340px); overflow:hidden; }
.home-work-photo img { width:100%; height:100%; object-fit:cover; transition:transform 1.2s cubic-bezier(.2,.65,.2,1); }
.home-work-card:hover img { transform:scale(1.025); }
.home-work-caption { display:flex; align-items:center; gap:18px; padding-top:22px; }
.home-work-caption h3 { margin:0; font-family:var(--display); font-size:clamp(28px,2.2vw,36px); line-height:1.15; font-weight:400; }
.home-work-caption small { font-size:12px; color:#b6ae98; }
.home-expertise { padding:95px var(--home-pad); display:grid; grid-template-columns:minmax(0,.42fr) minmax(0,.58fr); gap:60px; }
.home-expertise-intro h2 { margin:25px 0 0; font-size:clamp(45px,4.15vw,65px); line-height:1.07; }
.home-models-promise { margin:30px 0 0; font-size:16px; line-height:1.65; color:#c8bea8; }
.home-models-promise em { font-style:normal; }
.home-service { display:grid; grid-template-columns:32px minmax(0,1fr); align-items:center; gap:12px; border-top:1px solid #74889755; min-height:96px; padding:18px 0; transition:background .25s,color .25s; }
.home-service:last-child { border-bottom:1px solid #74889755; }
.home-service>span { font-size:12px; color:#b6ae98; }
.home-service h3 { margin:0; font-family:var(--display); font-size:36px; font-weight:400; line-height:1.12; }
.home-service:hover { background:#b6ae9809; color:#fff8eb; }
.home-closing { padding:70px 35px 65px; background:#102638; text-align:center; }
.home-closing h2 { margin:20px 0 30px; font-size:clamp(48px,4.4vw,70px); line-height:1.08; }
.home-closing-inquiry { margin:18px 0 0; font-size:14px; line-height:1.7; color:#bdc7ce; }
.home-closing-inquiry a { border-bottom:1px solid #9b988c; padding-bottom:3px; }
.home-footer { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:25px; padding:30px clamp(25px,4.3vw,82px); color:#a4b3bf; border-top:1px solid #b6ae9820; font-size:12px; line-height:1.65; letter-spacing:.04em; }
.home-footer .footer-links { flex-basis:100%; max-width:none; gap:8px 28px; }
.footer-links a { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:6px; transition:color .2s,text-decoration-color .2s; }
.footer-links a:hover { color:var(--ink); text-decoration-color:#b6ae9880; }

@media(min-width:601px) and (max-height:820px) {
  .home-hero-welcome { top:113px; }
  .home-hero-title { bottom:240px; }
  .home-hero-title h1 { font-size:66px; }
  .home-hero-details { bottom:90px; min-height:145px; }
}
@media(max-width:1160px) {
  body[data-page=home] .desktop-nav { margin:0; }
  .home-story { gap:60px; }
  body[data-page=home] .scene-chapters { gap:12px; }
  body[data-page=home] .scene-chapters button { font-size:11px; }
}
@media(max-width:900px) {
  .home-story { padding-block:110px; gap:45px; }
  .home-story-statement h2 { font-size:76px; }
  .home-story-body h2 { font-size:54px; }
  .home-hero-title h1 { font-size:72px; }
  .home-work { padding-block:75px; }
  .home-section-title { gap:30px; }
  .home-work-grid { gap:18px; }
  .home-work-photo { height:255px; }
  .home-work-caption { gap:11px; align-items:flex-start; }
  .home-work-caption small { padding-top:7px; }
  .home-work-caption h3 { font-size:28px; }
  .home-expertise { gap:40px; padding-block:80px; }
  .home-expertise-intro h2 { font-size:46px; }
  .home-service h3 { font-size:32px; }
  .home-footer { gap:24px; flex-wrap:wrap; }
}
@media(max-width:760px) {
  .home-story { display:block; padding:90px 25px; }
  .home-story-statement { margin-bottom:75px; }
  .home-story-statement h2 { font-size:clamp(64px,18vw,86px); }
  .home-story-body h2 { font-size:clamp(53px,14vw,66px); }
  .home-work { padding:65px 25px; }
  .home-section-title { display:block; }
  .home-section-title h2 { font-size:51px; }
  .home-section-title>.home-text-link { margin-top:25px; }
  .home-work-grid { grid-template-columns:1fr; gap:40px; }
  .home-work-photo { height:clamp(265px,68vw,420px); }
  .home-work-caption h3 { font-size:32px; }
  .home-expertise { display:block; padding:65px 25px; }
  .home-expertise-intro h2 { font-size:51px; }
  .home-service-list { margin-top:45px; }
  .home-service { min-height:95px; }
  .home-closing { padding:65px 25px; }
  .home-closing h2 { font-size:54px; }
  .home-footer { display:block; padding:25px; }
  .home-footer .footer-links { margin-bottom:24px; }
  .home-footer span { display:block; margin-bottom:8px; }
}
@media(max-width:600px) {
  .home-animation-message { width:calc(100% - 46px); }
  .home-animation-message h2 { font-size:clamp(43px,11.7vw,65px); }
  .home-animation-message p { margin-top:22px; font-size:16px; line-height:1.7; max-width:330px; }
  .home-hero-welcome { top:110px; font-size:13.8px; letter-spacing:.12em; }
  .home-hero-title { top:148px; bottom:auto; left:23px; right:23px; }
  .home-hero-title h1 { font-size:clamp(45px,13.3vw,64px); line-height:1.02; }
  .home-hero-details { bottom:104px; left:25px; right:25px; min-height:183px; }
  .home-hero-details .home-signature { font-size:27px; margin:12px 0 18px; }
  .home-hero-details .home-outline { min-height:48px; font-size:13px; padding-inline:19px; }
  body[data-page=home] .scene-shade { background:linear-gradient(0deg,#07131f 0%,#07131fef 26%,transparent 42%); }
  body[data-page=home] .scene-toolbox { bottom:20px; left:23px; right:auto; transform:none; display:block; }
  body[data-page=home] .model-modes button { padding:9px 11px; font-size:12px; }
  body[data-page=home] .scene-bottom { height:75px; }
  body[data-page=home] .scene-fallback { top:38%; left:4%; right:4%; width:92%; height:25%; }
}
@media(prefers-reduced-motion:reduce) {
  .home-work-photo img,.home-service,.home-outline { transition:none; }
}

/* Quiet, consistent catalog hierarchy; no changes to copy or scene dimensions. */
.department-grid { gap:clamp(36px,6vw,96px); margin-top:72px; }
.department-grid article { min-width:0; padding-top:30px; }
.department-grid h3 { margin:0; font-size:clamp(34px,3.15vw,48px); line-height:1.15; }
.department-list { margin-top:26px; }
.department-list li:before { display:none; }
.department-list li.catalog-intro { padding:0 0 20px; border:0; font-family:var(--sans); font-size:17px; line-height:1.8; color:var(--muted); max-width:52ch; }
.department-list li.catalog-intro+li.catalog-intro { padding-top:0; }
.department-list .catalog-intro span { font-size:15px; }
.department-list li.catalog-material { padding:20px 0; border:0; border-bottom:1px solid var(--line); font-family:var(--display); font-size:clamp(24px,2.1vw,31px); line-height:1.25; color:var(--ink); }
.department-list .catalog-intro+.catalog-material { margin-top:12px; border-top:1px solid var(--line); }
.department-list .catalog-material span { display:block; margin-top:7px; font-family:var(--sans); font-size:14px; line-height:1.6; letter-spacing:0; color:var(--muted); }
.department-introduction { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,6vw,96px); align-items:center; }
.department-intro-copy { margin:0; max-width:52ch; font-size:clamp(18px,1.5vw,21px); line-height:1.85; color:var(--muted); }
body[data-page=removables] .catalog-material span em { font-family:var(--serif); font-style:italic; font-size:18px; }
body[data-page=implants] .service-hero-bottom>p { max-width:760px; }

.implant-materials { padding-top:32px; margin-top:64px; }
.implant-materials>.eyebrow { margin:0 0 26px; justify-content:center; text-align:center; }
.implant-materials .department-list { grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:0; border-block:1px solid var(--line); }
.implant-materials .department-list li.catalog-material { min-width:0; padding:25px 24px 27px; border:0; font-size:clamp(24px,2.1vw,32px); }
.implant-materials .department-list li+li { border-left:1px solid var(--line); }
.implant-materials .department-list li:first-child { padding-left:0; }
.implant-materials .department-list li:last-child { padding-right:0; }

.implant-study-control .implant-system-note { margin:0 0 26px; font-family:var(--display); font-size:clamp(24px,2.1vw,30px); font-weight:400; font-style:normal; line-height:1.3; letter-spacing:-.015em; color:#ded3be; }
body[data-page=crowns-veneers] .story-grid .lead strong { font-family:var(--sans); font-style:normal; font-weight:700; }
body[data-page=crowns-veneers] .catalog-material span em { font-family:var(--serif); font-size:18px; line-height:1.4; font-style:italic; }

.appliance-collection { gap:0 clamp(36px,6vw,96px); margin-top:72px; }
.appliance-collection li { min-width:0; padding:32px 0 38px; border-top:1px solid var(--line); }
.appliance-collection li:nth-last-child(-n+2) { border-bottom:1px solid var(--line); }
.appliance-collection h3 { margin:0; font-size:clamp(30px,2.8vw,42px); line-height:1.2; }
.appliance-collection p { margin:16px 0 0; font-size:16px; line-height:1.85; }
.appliance-collection p em { font-family:var(--sans); font-style:italic; color:#adbcc7; }

body:is([data-page=implants],[data-page=removables],[data-page=crowns-veneers],[data-page=ortho]) .story-grid { align-items:start; column-gap:clamp(44px,6vw,96px); }
body:is([data-page=implants],[data-page=removables],[data-page=crowns-veneers],[data-page=ortho]) .story-grid .lead.smaller { margin:0; max-width:54ch; font-size:clamp(18px,1.5vw,21px); line-height:1.85; }
.capability-grid,.process-grid { gap:clamp(28px,4vw,64px); }
.capability-grid article,.process-grid article { min-width:0; border-top:1px solid var(--line); padding-top:26px; }
.capability-grid article>span,.process-grid article>span { display:block; margin-bottom:20px; font-size:13px; letter-spacing:.1em; }
.capability-grid h3,.process-grid h3 { margin:0; max-width:22ch; font-size:clamp(28px,2.45vw,38px); line-height:1.2; }
.capability-grid p { margin:18px 0 0; font-size:16px; line-height:1.8; max-width:40ch; }
.process-section .scope-note { max-width:75ch; margin:34px 0 0; font-size:15px; line-height:1.8; color:var(--muted); }
.service-models-promise { padding-top:40px; padding-bottom:64px; }
.service-models-promise .models-promise { padding-block:28px; border-bottom:1px solid var(--line); font-size:clamp(21px,2vw,29px); }

.aox-experience-intro { padding-left:22px; border-left:1px solid #b6ae9855; font-size:17pt; line-height:1.85; }
/* Keep the enlarged introduction clear of the scene's bottom controls. */
body[data-page=all-on-x] .film-story[data-opening-only] .film-stage { min-height:1100px; }
@media(min-width:601px) and (max-width:900px) {
  body[data-page=all-on-x] .film-story[data-opening-only] .film-stage { min-height:1400px; }
}
@media(max-width:600px) {
  body[data-page=all-on-x] .film-story[data-opening-only] .film-stage { min-height:1160px; }
}
@media(max-width:360px) {
  body[data-page=all-on-x] .film-story[data-opening-only] .film-stage { min-height:1280px; }
}
.experience-copy>p:not(.eyebrow) { line-height:1.85; }
.experience-growth .experience-copy h4 { margin:28px 0 16px; padding-top:24px; border-top:1px solid #b6ae9845; font-size:30px; line-height:1.2; }
.experience-marketing { gap:0 26px; margin-bottom:20px; }
.experience-marketing li { padding:11px 0; border-bottom:1px solid #b6ae9829; line-height:1.6; }
.experience-marketing li:before { display:none; }
.experience-growth .experience-copy>p:not(.eyebrow) { font-size:16px; line-height:1.8; }
.experience-growth .experience-copy .underlined { margin-top:28px; }

/* A photograph is a failure fallback, never the first loading frame. */
.film-story .scene-fallback { opacity:0; visibility:hidden; }
.film-story.scene-unavailable .scene-fallback { opacity:.8; visibility:visible; transition:opacity .45s ease; }
.scene-canvas>canvas { opacity:0; }
.scene-canvas.sculpture-ready>canvas { opacity:1; animation:dash-scene-reveal .65s cubic-bezier(.22,.61,.36,1) both; }
@keyframes dash-scene-reveal { from { opacity:0; } to { opacity:1; } }

@media(max-width:1000px) {
  .implant-materials .department-list { grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:0; }
  .implant-materials .department-list li.catalog-material { padding:24px; border-bottom:1px solid var(--line); }
  .implant-materials .department-list li:nth-child(3n+1) { padding-left:0; border-left:0; }
  .implant-materials .department-list li:nth-child(3n) { padding-right:0; }
}
@media(max-width:700px) {
  .department-introduction { grid-template-columns:1fr; gap:28px; }
  .department-intro-copy { font-size:18px; }
  .department-grid { margin-top:48px; gap:52px; }
  .department-grid article { padding-top:26px; }
  .department-grid h3 { font-size:38px; }
  .department-list { margin-top:22px; }
  .department-list li.catalog-intro { font-size:16px; }
  .department-list li.catalog-material { padding-block:18px; font-size:27px; }
  .implant-materials { margin-top:48px; padding-top:26px; }
  .implant-materials .department-list { display:block; }
  .implant-materials .department-list li.catalog-material { padding:22px 0; border-left:0; font-size:26px; }
  .appliance-collection { margin-top:48px; gap:0; }
  .appliance-collection li { padding:28px 0 32px; }
  .appliance-collection li:nth-last-child(2) { border-bottom:0; }
  .appliance-collection h3 { font-size:33px; }
  .capability-grid,.process-grid { gap:30px; }
  .capability-grid article,.process-grid article { padding-top:24px; }
  .capability-grid h3,.process-grid h3 { font-size:31px; }
  .service-models-promise { padding-top:28px; padding-bottom:42px; }
  .service-models-promise .models-promise { font-size:23px; line-height:1.5; }
  .aox-experience-intro { line-height:1.8; padding-left:18px; }
  .experience-marketing { grid-template-columns:1fr; }
  .experience-growth .experience-copy h4 { margin-top:26px; padding-top:24px; }
}
@media(prefers-reduced-motion:reduce) {
  .scene-canvas.sculpture-ready>canvas { animation:none; }
  .film-story.scene-unavailable .scene-fallback { transition:none; }
}

/* Approved October walkthrough: distinct material tiles and compact catalogs.
   Route-scoped specificity keeps the later sapphire theme from flattening them. */
body[data-page=implants] .implant-materials .material-tiles {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(12px,1.4vw,22px);
  margin:0;
  padding:0;
  border:0;
  list-style:none;
}
body[data-page=implants] .implant-materials .material-tiles>li.catalog-material {
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  grid-column:auto;
  min-width:0;
  min-height:220px;
  margin:0;
  padding:48px 20px 32px;
  border:1px solid #b6ae9840;
  background:#ffffff03;
  font-family:var(--display);
  font-size:clamp(25px,2.1vw,33px);
  line-height:1.25;
  text-align:center;
  color:var(--ink);
  overflow-wrap:break-word;
}
body[data-page=implants] .implant-materials .material-tiles>li.catalog-material:before {
  content:"";
  display:block;
  position:absolute;
  top:23px;
  left:20px;
  right:20px;
  width:auto;
  height:1px;
  background:#b6ae98;
}
body[data-page=implants] .material-tile-label { min-width:0; }
body[data-page=implants] .material-tile-label>span {
  display:block;
  margin-top:10px;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.5;
  color:var(--muted);
}
body[data-page=removables] .removable-catalog {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(30px,5vw,80px);
  align-items:start;
}
body[data-page=removables] .removable-catalog .removable-category {
  padding:0;
  border:0;
  min-width:0;
}
body[data-page=removables] .removable-category h3 {
  margin:0;
  padding-bottom:16px;
  border-bottom:1px solid #b6ae98a6;
  font-size:clamp(30px,2.5vw,40px);
  line-height:1.2;
}
body[data-page=removables] .removable-category .catalog-caption {
  min-height:3.6em;
  margin:17px 0 23px;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
body[data-page=removables] .removable-products {
  margin:0;
  padding:0;
  list-style:none;
}
body[data-page=removables] .removable-products>li.catalog-material {
  display:grid;
  grid-template-columns:7px minmax(0,1fr);
  align-items:start;
  column-gap:16px;
  min-height:65px;
  margin:0;
  padding:18px 20px;
  border:0;
  font-family:var(--sans);
  font-size:clamp(18px,1.4vw,22px);
  line-height:1.5;
  color:var(--ink);
}
body[data-page=removables] .removable-products>li.catalog-material:nth-child(odd) {
  background:#25374770;
}
body[data-page=removables] .removable-products>li.catalog-material:nth-child(even) {
  background:#15263635;
}
body[data-page=removables] .removable-products .catalog-diamond {
  display:block;
  width:6px;
  height:6px;
  margin:12px 0 0;
  background:#b6ae98;
  transform:rotate(45deg);
}
body[data-page=removables] .removable-products .catalog-product-name {
  display:block;
  min-width:0;
  margin:0;
  font:inherit;
  color:inherit;
  overflow-wrap:break-word;
}
body[data-page=removables] .removable-products .catalog-product-name>span {
  display:block;
  margin-top:3px;
  font-family:var(--sans);
  font-size:14px;
  line-height:1.5;
  color:var(--muted);
}
body[data-page=removables] .removable-products .catalog-product-name>span em {
  font:inherit;
  font-style:italic;
}
@media(max-width:1000px) {
  body[data-page=implants] .implant-materials .material-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body[data-page=implants] .implant-materials .material-tiles>li.catalog-material { min-height:190px; }
}
@media(max-width:700px) {
  body[data-page=implants] .implant-materials .material-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body[data-page=implants] .implant-materials .material-tiles>li.catalog-material { min-height:180px; padding:40px 16px 24px; font-size:26px; }
  body[data-page=implants] .implant-materials .material-tiles>li.catalog-material:before { left:16px; right:16px; top:20px; }
  body[data-page=implants] .material-tile-label>span { font-size:14px; }
  body[data-page=removables] .removable-catalog { grid-template-columns:1fr; gap:42px; }
  body[data-page=removables] .removable-category .catalog-caption { min-height:0; margin-bottom:20px; }
  body[data-page=removables] .removable-products>li.catalog-material { padding:17px 16px; column-gap:14px; font-size:18px; }
  body[data-page=removables] .removable-products .catalog-diamond { margin-top:11px; }
}
@media(max-width:380px) {
  body[data-page=implants] .implant-materials .material-tiles { grid-template-columns:1fr; }
  body[data-page=implants] .implant-materials .material-tiles>li.catalog-material { min-height:150px; }
}

/* The supplied photograph sits behind the existing All-on-X scene and copy. */
body[data-page=all-on-x] .aox-hero-background { position:absolute; inset:0; z-index:-3; overflow:hidden; pointer-events:none; background:#07131f; }
/* A small overscan keeps the edges filled during the requested left/down nudge. */
body[data-page=all-on-x] .aox-hero-background img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 50%; transform:translate(-4%,4%) scale(1.09); opacity:.66; }
body[data-page=all-on-x] .aox-hero-background:after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#07131ff0 0%,#07131fba 38%,#07131f2e 78%,#07131f55 100%),linear-gradient(0deg,#07131f 0%,transparent 34%,#07131f30 100%); }
body[data-page=all-on-x] .scene-glow { opacity:.4; }
@media(max-width:700px) {
  body[data-page=all-on-x] .aox-hero-background img { object-position:56% 50%; opacity:.54; }
  body[data-page=all-on-x] .aox-hero-background:after { background:linear-gradient(180deg,#07131fd9 0%,#07131fa3 48%,#07131f70 76%,#07131f 100%); }
}

/* Preserve all three appliances in the panoramic Ortho cover at every width. */
body[data-page=ortho] .service-hero-photo img {
  position:absolute;
  top:0;
  left:0;
  height:auto;
  mask-image:linear-gradient(to bottom,#000 76%,transparent 100%);
}
body[data-page=implants] .service-hero-photo img {
  object-position:72% center;
}
body[data-page=crowns-veneers] .service-hero-photo img {
  object-position:78% center;
}
@media(max-width:700px) {
  body[data-page=crowns-veneers] .service-hero-photo img {
    object-position:90% center;
  }
  body[data-page=ortho] .service-hero-photo img {
    top:100px;
    mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 65%,transparent 100%);
  }
}

/* Preserve each enhanced removable appliance in its full photographic frame. */
body[data-page=removables] .removables-photo-gallery {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
body[data-page=removables] .removables-photo-gallery .gallery-item {
  grid-column:auto;
  margin-top:0;
  background:#0b1723;
}
body[data-page=removables] .removables-photo-gallery .gallery-item img {
  display:block;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  background:#f3f3f3;
}
body[data-page=removables] .removables-photo-gallery .gallery-item>span {
  position:relative;
  min-height:82px;
  padding:20px;
  border-top:1px solid #c0d4e51c;
  background:none;
  line-height:1.5;
}
@media(max-width:900px) {
  body[data-page=removables] .removables-photo-gallery { gap:16px; }
  body[data-page=removables] .removables-photo-gallery .gallery-item>span { padding:16px; }
}
@media(max-width:700px) {
  body[data-page=removables] .removables-photo-gallery { grid-template-columns:1fr; gap:24px; }
  body[data-page=removables] .removables-photo-gallery .gallery-item>span { min-height:66px; }
}

/* Three evenly framed studies for the Fixed Restorations gallery. */
body[data-page=crowns-veneers] .fixed-photo-gallery {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  align-items:start;
}
body[data-page=crowns-veneers] .fixed-photo-gallery .gallery-item {
  grid-column:auto;
  margin-top:0;
  background:#0b1723;
}
body[data-page=crowns-veneers] .fixed-photo-gallery .gallery-item img {
  display:block;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
}
body[data-page=crowns-veneers] .fixed-photo-gallery .gallery-item:first-child img {
  object-position:50% 25%;
}
body[data-page=crowns-veneers] .fixed-photo-gallery .gallery-item>span {
  position:relative;
  min-height:66px;
  padding:20px;
  border-top:1px solid #c0d4e51c;
  background:none;
  line-height:1.5;
}
@media(max-width:900px) {
  body[data-page=crowns-veneers] .fixed-photo-gallery { gap:16px; }
}
@media(max-width:700px) {
  body[data-page=crowns-veneers] .fixed-photo-gallery { grid-template-columns:1fr; gap:24px; }
}

/* New Ortho images join the original photography in a balanced two-row gallery. */
body[data-page=ortho] .ortho-photo-gallery {
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
body[data-page=ortho] .ortho-photo-gallery .gallery-item {
  grid-column:auto;
  margin-top:0;
}
body[data-page=ortho] .ortho-photo-gallery .gallery-item img {
  display:block;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
body[data-page=ortho] .ortho-photo-gallery .ortho-product-photo img {
  object-fit:contain;
  background:#000;
}
body[data-page=implants] .two-photo-grid .implant-product-photo img {
  object-fit:contain;
  background:#efefef;
}
@media(max-width:700px) {
  body[data-page=ortho] .ortho-photo-gallery { grid-template-columns:1fr; }
}

/* Six portraits share one row on wide screens, with readable responsive grids. */
.team-page { position:relative; isolation:isolate; background:radial-gradient(ellipse at 80% 30%,#18395266,transparent 62%),var(--bg); padding-bottom:0; }
.team-backdrop { position:absolute; top:0; right:0; left:0; height:690px; z-index:-1; overflow:hidden; pointer-events:none; }
.team-backdrop img { display:block; width:78%; height:100%; margin-left:auto; object-fit:cover; object-position:center 38%; opacity:.38; }
.team-backdrop:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#07131f 8%,#07131fc4 40%,#07131f22 84%),linear-gradient(0deg,#07131f,transparent 64%); }
.team-intro { padding-top:170px; padding-bottom:68px; }
.team-intro .eyebrow { margin-bottom:25px; }
.team-intro h1 { font-size:clamp(70px,7.2vw,116px); line-height:1.03; margin:0 0 27px; }
.team-intro-copy { max-width:545px; font-size:18px; line-height:1.8; color:var(--muted); }
.team-story-link { display:inline-block; margin-top:27px; font-size:14px; }
.team-page .team-collection { max-width:1920px; padding-inline:clamp(28px,3vw,58px); }
.team-roster { --team-columns:6; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:26px 16px; align-items:stretch; }
.team-member { display:flex; min-width:0; }
.team-person { position:relative; display:flex; flex-direction:column; width:100%; height:100%; padding:0; text-align:left; border:1px solid #b6ae9838; border-radius:3px; background:#0d2132; color:var(--ink); overflow:hidden; transition:transform .4s cubic-bezier(.22,.61,.36,1),border-color .3s,box-shadow .4s; }
.team-portrait { display:block; aspect-ratio:1; overflow:hidden; background:#142a3c; }
.team-portrait img { width:100%; height:100%; display:block; object-fit:contain; transition:transform .55s cubic-bezier(.22,.61,.36,1); }
.team-person[data-team-person="tony"] .team-portrait img { object-fit:cover; object-position:center 24%; }
.team-person .team-portrait { width:100%; flex:none; }
.team-page .team-person-info { position:relative; display:flex; flex:1 0 auto; flex-direction:column; width:100%; min-height:350px; padding:20px 14px 17px; background:linear-gradient(140deg,#102b40,#0b1b2a); }
.team-person-info > span { flex-shrink:0; }
.team-person-name { display:block; font-family:var(--display); font-size:clamp(24px,1.7vw,31px); line-height:1.1; min-height:2.2em; margin-bottom:12px; letter-spacing:-.02em; }
.team-person-role { display:block; color:#bdc7ce; font-size:14px; line-height:1.55; min-height:87px; }
.team-person-prompt { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:15px; color:#d2c8b4; font-size:12px; letter-spacing:.07em; text-transform:uppercase; }
.team-person-prompt>span { font-size:22px; line-height:1; font-weight:300; transition:transform .3s; }
.team-person:hover { transform:translateY(-5px); border-color:#b6ae9890; }
.team-person[aria-expanded=true] { transform:translateY(-6px) scale(1.025); border-color:#d0c2a4; box-shadow:0 18px 45px #0004; z-index:2; }
.team-person[aria-expanded=true] .team-portrait img { transform:scale(1.025); }
.team-person[aria-expanded=true] .team-person-prompt>span { transform:rotate(45deg); }
.team-biography { grid-column:1 / -1; position:relative; min-width:0; padding:48px 54px; margin-top:7px; background:linear-gradient(115deg,#112b40,#0b1d2d); border-top:1px solid #cbbb9c88; border-bottom:1px solid #b6ae9830; animation:team-bio-in .4s cubic-bezier(.22,.61,.36,1) both; }
.team-biography[hidden] { display:none; }
.team-bio-content { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:55px; padding-right:35px; }
.team-bio-content>* { animation:team-bio-in .3s ease both; }
.team-bio-content .eyebrow { font-size:12px; margin-bottom:17px; }
.team-bio-content h2 { font-size:clamp(38px,3.3vw,54px); margin:0 0 14px; line-height:1.1; }
.team-bio-role { font-size:15px; color:#d2c8b4; line-height:1.65; max-width:380px; }
.team-bio-copy { color:#d0d7dc; font-size:18px; line-height:1.85; }
.team-bio-close { position:absolute; top:13px; right:18px; min-height:44px; padding:8px; display:flex; align-items:center; gap:12px; font-size:13px; color:#d2c8b4; }
.team-bio-close>span { font-size:24px; }
.team-signoff { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:46px 0 66px; }
.team-signoff p { font-size:13px; line-height:1.85; letter-spacing:.14em; text-transform:uppercase; color:#d5dce1; }
.team-signoff a { font-size:14px; }
@keyframes team-bio-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
@media(max-width:1399px) {
  .team-roster { --team-columns:3; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px 22px; }
  .team-page .team-person-info { min-height:330px; padding-inline:18px; }
  .team-person-name { font-size:30px; }
}
@media(max-width:1100px) {
  .team-roster { --team-columns:3; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .team-person-name { font-size:31px; }
  .team-page .team-person-info { min-height:330px; }
}
@media(max-width:700px) {
  .team-intro { padding-top:132px; padding-bottom:48px; }
  .team-intro h1 { font-size:65px; }
  .team-intro-copy { font-size:16px; max-width:420px; }
  .team-backdrop { height:550px; }
  .team-backdrop img { width:100%; object-position:63% center; opacity:.25; }
  .team-roster { --team-columns:2; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 16px; }
  .team-page .team-collection { padding-inline:22px; }
  .team-page .team-person-info { padding:18px 13px 13px; min-height:360px; }
  .team-person-name { font-size:28px; }
  .team-person-role { min-height:86px; font-size:14px; line-height:1.55; }
  .team-person-prompt { font-size:12px; }
  .team-biography { padding:54px 24px 30px; }
  .team-bio-content { display:block; padding-right:0; }
  .team-bio-content h2 { font-size:43px; }
  .team-bio-copy { font-size:17px; line-height:1.8; margin-top:25px; }
  .team-signoff { align-items:flex-start; padding-block:36px 52px; }
  .team-signoff p { font-size:12px; letter-spacing:.06em; }
}
@media(max-width:479px) {
  .team-roster { --team-columns:1; grid-template-columns:minmax(0,1fr); gap:28px; }
  .team-page .team-person-info { min-height:0; padding:23px 23px 20px; }
  .team-person-name { min-height:0; font-size:32px; }
  .team-person-role { min-height:0; }
  .team-person-prompt { margin-top:18px; border-top:1px solid #b6ae9830; }
}
@media(max-width:360px) {
  .team-roster { gap:20px 12px; }
  .team-page .team-person-info { padding-inline:20px; }
  .team-person-name { font-size:30px; }
  .team-signoff { display:block; }
  .team-signoff a { display:inline-block; margin-top:22px; }
}
@media(prefers-reduced-motion:reduce) {
  .team-person,.team-portrait img,.team-person-prompt>span { transition:none; }
  .team-biography,.team-bio-content>* { animation:none; }
}

/* Supporting information uses the approved sapphire palette and atelier type. */
.resource-hero { padding-top:170px; padding-bottom:76px; }
.resource-hero h1 { font-size:clamp(58px,6.2vw,104px); line-height:1.04; margin:24px 0 30px; max-width:1150px; }
.resource-lead { max-width:730px; font-size:20px; line-height:1.85; color:var(--muted); }
.resource-actions { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:34px; }
.resource-section { padding-top:82px; padding-bottom:82px; border-top:1px solid #b6ae9838; scroll-margin-top:110px; }
.resource-heading { max-width:880px; margin-bottom:43px; }
.resource-heading h2 { font-size:clamp(43px,4.2vw,68px); line-height:1.1; margin:20px 0 27px; }
.resource-section p,.resource-section li,.resource-section dd { font-size:17px; line-height:1.85; color:#b9c7d1; }
.resource-section p+p { margin-top:20px; }
.resource-section h3 { font-family:var(--display); font-size:30px; line-height:1.15; margin-bottom:17px; color:var(--ink); }
.resource-section a:not(.button),.home-discovery a { text-decoration:underline; text-decoration-color:#b6ae9866; text-underline-offset:5px; }
.resource-section a:hover,.home-discovery a:hover { color:#e6d8be; text-decoration-color:currentColor; }
.resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:38px; margin-bottom:34px; }
.resource-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px; margin:30px 0; }
.resource-card { border:1px solid #b6ae9838; background:linear-gradient(120deg,#102b4038,#0b1d2d88); padding:36px; }
.resource-number { display:block; color:#cabc9f; font-size:14px; letter-spacing:.16em; margin-bottom:30px; }
.resource-card a { display:inline-block; margin-top:24px; font-size:15px; }
.resource-links { display:flex; flex-wrap:wrap; gap:18px 30px; margin-top:32px; padding-top:28px; border-top:1px solid #b6ae982b; font-size:15px; line-height:1.8; }
.resource-note { font-size:15px!important; line-height:1.8!important; margin-top:30px; max-width:930px; }
.resource-steps { list-style:none; counter-reset:step; padding:0; }
.resource-steps li { display:grid; grid-template-columns:65px minmax(150px,.7fr) minmax(0,1.3fr); gap:28px; padding:30px 0; border-top:1px solid #b6ae982b; counter-increment:step; }
.resource-steps li:before { content:counter(step,decimal-leading-zero); color:#cabc9f; font-size:15px; letter-spacing:.12em; }
.resource-steps h3 { font-size:28px; }
.state-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 32px; list-style:none; padding:0; margin:40px 0; }
.state-list li { border-bottom:1px solid #b6ae982b; padding:14px 0; scroll-margin-top:120px; }
.state-list a { display:flex; align-items:center; justify-content:space-between; text-decoration:none!important; font-size:17px; }
.state-list a span { color:#b6ae98; font-size:12px; }
.state-list li:target { background:#b6ae981a; box-shadow:inset 3px 0 #cabc9f; padding-left:12px; }
.resource-service-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; }
.resource-service-list a { display:block; padding:26px 0; border-top:1px solid #b6ae982b; text-decoration:none!important; }
.resource-service-list strong { font-family:var(--display); font-weight:400; font-size:30px; color:var(--ink); display:block; margin-bottom:10px; }
.resource-service-list span { font-size:16px; line-height:1.8; color:#b9c7d1; }
.region-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.region-grid article { scroll-margin-top:120px; }
.region-grid h2 { font-size:46px; margin:22px 0 16px; }
.region-grid .region-city { font-size:22px; color:#d2c8b4; margin-bottom:16px; }
.growth-deliverables { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px 40px; margin:40px 0 48px; }
.growth-deliverables>div { padding-top:24px; border-top:1px solid #b6ae9844; }
.growth-deliverables dt { font-family:var(--display); color:var(--ink); font-size:29px; line-height:1.2; margin-bottom:14px; }
.growth-deliverables dd { margin:0; }
.growth-detail { background:radial-gradient(ellipse at 80% 10%,#23435b33,transparent 65%); }
.home-lab-context { border-top:1px solid #b6ae9830; padding-top:24px; margin-top:28px; font-size:16px; line-height:1.85; color:#b9c7d1; max-width:670px; }
.home-lab-context a { text-decoration:underline; text-underline-offset:4px; }
.home-discovery { margin-top:0; }
.footer-resources { display:flex; flex-wrap:wrap; gap:15px 30px; padding:27px 0; border-top:1px solid #b6ae982b; font-size:14px; line-height:1.8; }
.home-footer .footer-resources { grid-column:1/-1; width:100%; }
.footer-regions { display:block; font-size:14px; line-height:1.85; color:#b9c7d1; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:14px; line-height:1.8; margin-bottom:20px; color:#b9c7d1; }
.resource-page .breadcrumbs { padding-top:125px; }
.resource-page .resource-hero { padding-top:25px; }
.service-guide .resource-note { margin-bottom:20px; }
.team-bio-summary { font-size:14px; color:#bdc7ce; line-height:1.7; margin-top:14px; }
.team-person-info { min-height:255px; }
.team-bio-source[hidden] { display:none; }
.contact-routing { margin-top:30px; padding-top:23px; border-top:1px solid #b6ae9833; font-size:16px; line-height:1.8; color:#b9c7d1; }
.contact-routing a { text-decoration:underline; text-underline-offset:4px; }
.no-script-note { padding:16px 24px; font-size:15px; background:#102b40; color:#d0d7dc; }
.media-disclosure { margin-top:20px; color:#acb9c4; font-size:14px; line-height:1.8; }
@media(max-width:1000px) {
 .resource-grid,.growth-deliverables { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .region-grid { gap:26px; }
 .state-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .resource-steps li { grid-template-columns:42px minmax(0,1fr); }
 .resource-steps li p { grid-column:2; }
}
@media(max-width:700px) {
 .resource-hero { padding-top:130px; padding-bottom:48px; }
 .resource-hero h1 { font-size:52px; }
 .resource-lead { font-size:18px; }
 .resource-section { padding-top:50px; padding-bottom:50px; }
 .resource-heading { margin-bottom:30px; }
 .resource-heading h2 { font-size:42px; }
 .resource-grid,.resource-pair,.region-grid,.growth-deliverables,.resource-service-list { grid-template-columns:1fr; gap:28px; }
 .resource-card { padding:26px; }
 .resource-section p,.resource-section li,.resource-section dd { font-size:16px; }
 .state-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
 .state-list a { font-size:16px; }
 .state-list a span { display:none; }
 .region-grid article { padding-bottom:28px; border-bottom:1px solid #b6ae982b; }
 .footer-resources { gap:14px 25px; }
 .team-person-info { min-height:300px; }
 .resource-page .breadcrumbs { padding-top:115px; }
}
@media(max-width:360px) { .resource-hero h1 { font-size:44px; } .state-list { grid-template-columns:1fr; } }

/* Keep readable summary space without constraining biography text height. */
.team-person-info { min-height:330px; }
@media(max-width:700px) { .team-person-info { min-height:400px; } }
@media(max-width:360px) { .team-person-info { min-height:435px; } }

/* Final walkthrough refinements. Existing scene geometry/choreography is untouched. */
.header-actions { display:flex; align-items:center; flex-shrink:0; gap:12px; }
.header-sign-in { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 17px; border:1px solid #b6ae9866; border-radius:2px; color:var(--ink); font-size:14px; white-space:nowrap; }
.header-sign-in:hover { background:#b6ae9812; border-color:#d4c5a7; }
body[data-page=home] .header-contact { margin-left:0; }
body[data-page=home] .header-actions { margin-left:20px; }
@media(min-width:1281px) and (max-width:1500px) { .header-inner { gap:14px; } .desktop-nav { gap:14px; } .header-actions { gap:8px; } .header-contact,.header-sign-in { padding-inline:12px; } }
@media(max-width:1280px) { .header-actions { display:none; } .mobile-nav .mobile-sign-in { color:#ded3be; border-top:1px solid #b6ae983b; margin-top:8px; padding-top:20px; } }
/* The approved footer composition: compact left navigation, right tagline, clipped silver-blue monument. */
.walkthrough-footer { position:relative; isolation:isolate; z-index:2; overflow:visible; background:#0d1d2b; border-top:1px solid #b6ae982b; }
.walkthrough-footer .footer-shell { position:relative; z-index:1; display:flex; flex-direction:column; min-height:clamp(660px,45.92vw,1100px); max-width:none; padding:clamp(20px,1.08vw,28px) 2.92vw 14px; }
.walkthrough-footer .footer-composition { display:grid; grid-template-columns:minmax(0,.3865fr) minmax(0,.6135fr); column-gap:0; }
.walkthrough-footer .footer-brand-band { min-width:0; }
.walkthrough-footer .footer-brand { display:flex; align-items:center; gap:.32em; margin:0; font-family:var(--sans); color:#fff; font-size:clamp(18px,1.188vw,26px); font-style:normal; line-height:1.25; font-weight:400; letter-spacing:.02em; white-space:nowrap; }
.walkthrough-footer .footer-brand strong { font-weight:700; }
.walkthrough-footer .footer-brand > span { font-weight:400; }
.walkthrough-footer .footer-brand i { width:clamp(54px,3.75vw,82px); height:1px; background:#d7bd82; display:block; margin-left:clamp(16px,1.3vw,29px); flex-shrink:0; }
.walkthrough-footer .footer-tagline { justify-self:end; align-self:start; margin:4.25vw 2.1vw 0 32px; font-family:"Dash Atelier",Georgia,serif; color:#fff; font-size:clamp(36px,2.7vw,64px); font-style:normal; font-weight:400; line-height:1.2; letter-spacing:-.015em; font-synthesis:none; }
.walkthrough-footer .footer-tagline > span { display:block; color:#fff; white-space:nowrap; }
.walkthrough-footer .footer-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4.2vw; width:100%; margin:2.59vw 0 0; padding:0 0 0 4px; }
.walkthrough-footer .footer-nav-group { min-width:0; }
.walkthrough-footer .footer-nav-title { margin:0 0 5px; padding-bottom:8px; border-bottom:1px solid #c7d1d999; color:#f6e5ac; font-family:var(--sans); font-size:clamp(11px,.702vw,15px); font-style:normal; line-height:1.4; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.walkthrough-footer .footer-nav-group ul { list-style:none; margin:0; padding:0; }
.walkthrough-footer .footer-nav-group li { margin:0; padding:0; }
.walkthrough-footer a { position:relative; display:inline-flex; align-items:center; min-height:44px; max-width:100%; padding:9px 0; color:#fff; line-height:1.35; text-decoration:underline; text-decoration-color:transparent; text-underline-offset:5px; transition:color .2s,text-decoration-color .2s; }
.walkthrough-footer .footer-nav-group a { display:flex; justify-content:space-between; gap:16px; width:100%; min-height:clamp(32px,1.95vw,44px); padding:3px 0; font-family:"Dash Atelier",Georgia,serif; font-size:clamp(18px,1.188vw,27px); font-weight:400; letter-spacing:-.01em; }
.walkthrough-footer .footer-nav-group a > span { flex:1; min-width:0; }
.walkthrough-footer .footer-link-arrow { flex:0 0 20px; width:20px; height:15px; color:inherit; pointer-events:none; }
.walkthrough-footer a:hover { color:#e4c889; text-decoration-color:#d7bd8280; }
a:focus-visible,button:focus-visible { outline:2px solid #d4c5a7; outline-offset:5px; }
.walkthrough-footer a:focus-visible { outline:2px solid #ead49d; outline-offset:5px; border-radius:1px; color:#fff8e8; }
.walkthrough-footer .footer-decoration { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; user-select:none; }
.walkthrough-footer .footer-monument { position:absolute; top:max(34%,260px); left:50%; display:block; width:max-content; transform:translateX(-50%); margin:0; padding:0; font-family:var(--sans); font-size:40vw; font-weight:500; font-style:normal; line-height:.92; letter-spacing:-.005em; white-space:nowrap; color:#91a9b9; background:linear-gradient(180deg,#d4e7f3 0%,#c4d9e6 12%,#8199a9 40%,#384b5b 76%,#0d1d2b 100%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.walkthrough-footer .footer-utility { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; margin-top:auto; padding-top:8px; border-top:1px solid #aab3b9b3; color:#fff; font-family:var(--sans); font-size:clamp(12px,.756vw,16px); line-height:1.7; }
.walkthrough-footer .footer-copyright { justify-self:start; white-space:nowrap; }
.walkthrough-footer .footer-coverage-text { margin:0; padding:0; border:0; color:#fff; font-size:inherit; line-height:1.7; letter-spacing:0; text-align:center; }
.walkthrough-footer .footer-utility a { justify-self:end; color:#fff; white-space:nowrap; }
@media(max-width:1100px) {
 .walkthrough-footer .footer-shell { min-height:850px; padding:32px 5vw 24px; }
 .walkthrough-footer .footer-composition { display:flex; flex-direction:column; gap:32px; }
 .walkthrough-footer .footer-brand-band { display:contents; }
 .walkthrough-footer .footer-brand { order:0; }
 .walkthrough-footer .footer-tagline { order:1; align-self:flex-end; margin:0 0 6px; font-size:clamp(40px,4.8vw,53px); }
 .walkthrough-footer .footer-navigation { order:2; width:100%; max-width:720px; margin:0; padding:0; gap:clamp(40px,8vw,82px); }
 .walkthrough-footer .footer-nav-title { font-size:12px; }
 .walkthrough-footer .footer-nav-group a { font-size:24px; min-height:48px; }
 .walkthrough-footer .footer-monument { top:auto; bottom:40px; font-size:43vw; }
 .walkthrough-footer .footer-utility { grid-template-columns:auto 1fr auto; gap:18px; font-size:12px; margin-top:185px; }
 .walkthrough-footer .footer-coverage-text { max-width:37ch; justify-self:center; }
}
@media(max-width:600px) {
 .walkthrough-footer .footer-shell { min-height:0; padding:30px 24px 22px; }
 .walkthrough-footer .footer-composition { gap:32px; }
 .walkthrough-footer .footer-brand { font-size:18px; }
 .walkthrough-footer .footer-brand i { width:58px; margin-left:16px; }
 .walkthrough-footer .footer-tagline { align-self:flex-start; font-size:clamp(31px,8.75vw,45px); line-height:1.2; letter-spacing:-.02em; margin:0 0 4px; }
 .walkthrough-footer .footer-navigation { grid-template-columns:1fr; gap:26px; max-width:none; }
 .walkthrough-footer .footer-nav-title { font-size:12px; padding-bottom:11px; margin-bottom:7px; }
 .walkthrough-footer .footer-nav-group a { font-size:23px; min-height:48px; gap:20px; }
 .walkthrough-footer .footer-monument { bottom:95px; font-size:47vw; }
 .walkthrough-footer .footer-utility { display:flex; flex-wrap:wrap; justify-content:space-between; gap:13px 16px; margin-top:160px; padding-top:18px; font-size:12px; }
 .walkthrough-footer .footer-coverage-text { order:-1; flex:0 0 100%; width:100%; max-width:none; text-align:left; font-size:13px; }
 .walkthrough-footer .footer-copyright { flex:1 1 auto; }
 .walkthrough-footer .footer-utility a { flex:0 0 auto; }
}
@media(pointer:coarse) { .walkthrough-footer .footer-nav-group a { min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .walkthrough-footer a { transition:none; } }
.workflow-inquiry { display:inline-block; margin:22px 0 8px; font-size:16px; line-height:1.7; }
.process-resource-link { display:inline-block; margin-top:22px; font-size:16px; line-height:1.75; }
.process-inquiry { display:inline-block; margin-top:32px; font-size:16px; }
.implant-assembly-section { padding-bottom:40px; }
.implant-craft-section { padding-top:40px; }
.resource-steps li { scroll-margin-top:125px; }
.service-guide .resource-grid { margin-bottom:0; }
/* Remove only the former product-note separator; retain model benefit dividers. */
body:is([data-page=implants],[data-page=crowns-veneers],[data-page=ortho]) .service-guide { border-top:0; padding-top:35px; }
.coverage-map-section { margin-top:32px; }
.coverage-map { width:100%; background:#091b30; padding:30px 20px; border:1px solid #b6ae9829; }
.coverage-map svg { width:100%; height:auto; display:block; }
.coverage-legend { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:15px 32px; list-style:none; padding:28px 0 0; margin:0; }
.coverage-legend li { display:flex; align-items:center; gap:11px; font-size:14px; }
.map-key { display:inline-block; width:15px; height:15px; border:1px solid #81919d; flex-shrink:0; }
.map-key-gold { background:#bca477; border-color:#bca477; }
.map-key-neutral { background:#2c4054; }
.map-key-region { border-radius:50%; border:2px solid #eee9dd; box-shadow:0 0 0 3px #81919d66; background:#091b30; width:13px; height:13px; }
.coverage-map-section .resource-note { margin:22px auto 0; text-align:center; }
.coverage-map-section .map-region-text { text-align:center; margin-top:18px; font-size:14px; }
.home-hero-welcome { will-change:transform,opacity; transform-origin:center; }
@media(max-width:600px) {
 .implant-assembly-section { padding-bottom:24px; }
 .implant-craft-section { padding-top:26px; }
 .coverage-map { padding:18px 0; }
 .coverage-legend { align-items:flex-start; flex-direction:column; gap:14px; }
 .coverage-map-section .map-region-text { font-size:15px; line-height:1.9; }
}
@media(prefers-reduced-motion:reduce) { .home-hero-welcome { transform:none!important; filter:none!important; will-change:auto; } }
/* Service areas: the approved coverage map beside the opening introduction. */
.service-area-hero .service-area-intro { min-width:0; }
.service-area-hero .service-area-map { margin:48px 0 0; width:100%; max-width:1050px; min-width:0; }
.service-area-hero .coverage-map { padding:20px 14px; }
.service-area-hero .service-area-map figcaption { display:none; }
@media(min-width:1280px) {
 .service-area-hero { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(32px,3vw,70px); align-items:center; }
 .service-area-hero h1 { font-size:clamp(58px,4.7vw,104px); }
 .service-area-hero .service-area-map { margin:0; }
}
@media(max-width:700px) {
 .service-area-hero .coverage-map { padding:16px 0; }
 .service-area-hero .service-area-map { margin-top:36px; }
 .service-area-hero .service-area-map figcaption { display:block; color:var(--muted); font-size:13px; line-height:1.8; margin-top:15px; max-width:38ch; }
}

/* Narrow final-walkthrough typography; both interactive models are unchanged. */
.implant-system-note .implant-system-main { display:block; }
.implant-system-note .implant-system-detail { display:block; margin-top:12px; font-family:Arial,sans-serif; font-size:13px; font-style:normal; line-height:1.65; letter-spacing:.015em; color:#adbdc9; }
.contact-form-wrap .inquiry-guidance { margin:4px 0 25px; font-size:13px; line-height:1.75; }
.contact-form-wrap .inquiry-delivery-note { margin:0 0 12px; font-size:14px; line-height:1.8; }
.contact-form-wrap .form-recipient { margin:0 0 24px; font-size:13px; line-height:1.7; color:#b9c7d1; overflow-wrap:anywhere; }
.inquiry-guidance a,.form-recipient a { color:#dfd0b5; text-decoration:underline; text-underline-offset:4px; }
.inquiry-guidance a:focus-visible,.form-recipient a:focus-visible { outline:2px solid #dfd0b5; outline-offset:5px; }
.contact-form-wrap .inquiry-field-error { display:block; margin:8px 0 0; color:#e8bfb0; font-family:Arial,sans-serif; font-size:12px; font-style:normal; font-weight:400; line-height:1.6; letter-spacing:0; text-transform:none; }
.contact-form-wrap .inquiry-field-error[hidden] { display:none; }
.contact-form-wrap [aria-invalid="true"] { border-color:#dca58f; }
.contact-form-wrap .draft-fallback[hidden] { display:none; }

@font-face{font-family:"Dash Welcome";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/approved-font-9.ttf) format("truetype")}

/* Home text only. Geometry, timeline, camera and controls retain the approved module. */
body[data-page=home] .home-hero-welcome {
  font-family:"Dash Welcome",var(--sans);
  font-weight:400;
  font-size:21.8px;
  letter-spacing:.14em;
  line-height:1.7;
}
body[data-page=home] .home-hero-title h1 {
  font-size:clamp(36px,5.2vw,90px);
  line-height:1.08;
}
body[data-page=home] .home-hero-title h1 > span { display:block; }
@media(max-width:600px) {
  body[data-page=home] .home-hero-welcome {
    font-size:clamp(16px,4.5vw,21.8px);
    letter-spacing:.1em;
  }
  body[data-page=home] .home-hero-title h1 {
    font-size:clamp(32px,8.4vw,46px);
    line-height:1.08;
    letter-spacing:-.025em;
  }
}

/* October 12 approved Home composition. All rules stay within this one section. */
.home-story.home-story-approved {
  --story-champagne:#dfc69c;
  display:block;
  padding:clamp(60px,5.8vw,100px) var(--home-pad,clamp(24px,4.3vw,82px)) clamp(58px,5vw,86px);
  color:var(--ink,#f0eadf);
}
.home-story-approved .homepage-story-inner { max-width:1420px; margin-inline:auto; }
.home-story-approved .homepage-story-intro { text-align:center; }
.home-story-approved .homepage-story-eyebrow { margin:0; color:var(--story-champagne); font-size:11px; line-height:1.7; letter-spacing:.26em; }
.home-story-approved #home-story-title { margin:14px 0 20px; font-family:var(--display); font-size:clamp(49px,5.08vw,88px); font-weight:400; line-height:1.08; letter-spacing:-.025em; }
.home-story-approved .homepage-story-paragraphs { max-width:1200px; margin-inline:auto; }
.home-story-approved .homepage-story-paragraphs p { margin:0; color:var(--ink,#f0eadf); font-size:clamp(20px,1.7vw,28px); line-height:1.48; font-weight:400; letter-spacing:.002em; }
.home-story-approved .homepage-story-paragraphs p+p { margin-top:17px; }
.home-story-approved .homepage-mission-trigger { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:48px; margin:10px 0 12px; padding:6px 12px; color:var(--ink,#f0eadf); background:transparent; border:0; border-radius:0; font-family:var(--display); font-size:25px; font-weight:400; line-height:1.25; transition:color .2s; }
.home-story-approved .homepage-mission-trigger svg { flex:none; }
.home-story-approved .homepage-mission-trigger:hover { color:var(--story-champagne); }
.home-story-approved .homepage-feature-row { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); align-items:center; column-gap:clamp(30px,3.7vw,60px); margin-inline:clamp(0px,2.1vw,32px); }
.home-story-approved .homepage-film { min-width:0; margin:0; }
.home-story-approved .homepage-video-shell { position:relative; width:100%; aspect-ratio:16/9; background:#050b12; border:1px solid #b6ae9880; }
.home-story-approved .homepage-video-shell video { display:block; width:100%; height:100%; aspect-ratio:16/9; object-fit:contain; background:#050b12; }
.home-story-approved .homepage-video-play { position:absolute; z-index:1; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:86px; height:86px; padding:0; border:1.5px solid #f0eadf; border-radius:50%; background:#07131f55; color:#f0eadf; backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); transition:background .2s,border-color .2s; }
.home-story-approved .homepage-video-play svg { margin-left:2px; }
.home-story-approved .homepage-video-play:hover { background:#07131fbd; border-color:var(--story-champagne); }
.home-story-approved .homepage-film figcaption { margin:9px 0 0; text-align:center; color:var(--ink,#f0eadf); font-size:16px; line-height:1.55; }
.home-story-approved .homepage-benefits { min-width:0; padding:20px 0 32px; }
.home-story-approved .homepage-benefit-list { display:grid; row-gap:27px; list-style:none; margin:0; padding:0; }
.home-story-approved .homepage-benefit-list li { display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:24px; align-items:start; }
.home-story-approved .homepage-benefit-star { display:block; width:28px; height:28px; margin-top:3px; fill:var(--story-champagne); }
.home-story-approved .homepage-benefit-list h3 { margin:0; font-family:var(--display); color:var(--ink,#f0eadf); font-weight:400; font-size:clamp(25px,1.83vw,30px); line-height:1.16; letter-spacing:-.015em; }
.home-story-approved .homepage-benefit-list p { margin:7px 0 0; color:var(--ink,#f0eadf); font-size:clamp(16px,1.075vw,18px); line-height:1.6; }
.home-story-approved .homepage-connect-button { display:inline-flex; align-items:center; justify-content:center; min-width:184px; min-height:49px; padding:12px 28px; margin-top:23px; background:var(--story-champagne); border:1px solid var(--story-champagne); color:#10232e; font-size:16px; font-weight:600; line-height:1.5; transition:background .2s,border-color .2s; }
.home-story-approved .homepage-connect-button:hover { background:#efdab8; border-color:#efdab8; }
.home-story-approved .homepage-story-coverage { margin-top:15px; padding-top:34px; border-top:1px solid #b6ae9860; text-align:center; }
.home-story-approved .homepage-story-coverage p { max-width:1280px; margin-inline:auto; color:var(--ink,#f0eadf); font-size:14px; line-height:1.9; }
.home-story-approved .homepage-story-coverage p a { text-decoration:underline; text-decoration-color:#b6ae9899; text-underline-offset:4px; text-decoration-thickness:1px; transition:color .2s,text-decoration-color .2s; }
.home-story-approved .homepage-story-coverage p a:hover { color:var(--story-champagne); text-decoration-color:currentColor; }
.home-story-approved .homepage-team-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:174px; margin-top:18px; padding:9px 24px; border:1px solid #b6ae9880; color:var(--ink,#f0eadf); font-size:14px; line-height:1.6; transition:background .2s,border-color .2s; }
.home-story-approved .homepage-team-link:hover { background:#b6ae9818; border-color:var(--story-champagne); }
.home-story-approved button:focus-visible,.home-story-approved a:focus-visible,.home-story-approved video:focus-visible { outline:2px solid var(--story-champagne); outline-offset:5px; }
@media(max-width:1100px) {
  .home-story-approved .homepage-feature-row { margin-inline:0; column-gap:30px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .home-story-approved .homepage-benefit-list li { grid-template-columns:23px minmax(0,1fr); column-gap:16px; }
  .home-story-approved .homepage-benefit-star { width:23px; height:23px; }
  .home-story-approved .homepage-benefit-list { row-gap:23px; }
  .home-story-approved .homepage-benefits { padding-block:14px 32px; }
  .home-story-approved .homepage-video-play { width:72px; height:72px; }
}
@media(max-width:800px) {
  .home-story.home-story-approved { padding:64px 25px 60px; }
  .home-story-approved #home-story-title { font-size:clamp(46px,7.8vw,66px); margin-bottom:22px; }
  .home-story-approved .homepage-story-paragraphs { max-width:650px; }
  .home-story-approved .homepage-story-paragraphs p { font-size:21px; line-height:1.55; }
  .home-story-approved .homepage-story-paragraphs p+p { margin-top:19px; }
  .home-story-approved .homepage-mission-trigger { margin-top:17px; margin-bottom:22px; }
  .home-story-approved .homepage-feature-row { grid-template-columns:minmax(0,1fr); row-gap:31px; }
  .home-story-approved .homepage-film { width:100%; max-width:660px; margin-inline:auto; }
  .home-story-approved .homepage-benefits { width:100%; max-width:660px; margin-inline:auto; padding:0; }
  .home-story-approved .homepage-benefit-list { row-gap:25px; }
  .home-story-approved .homepage-benefit-list h3 { font-size:29px; line-height:1.2; }
  .home-story-approved .homepage-benefit-list p { font-size:16px; line-height:1.65; }
  .home-story-approved .homepage-connect-button { margin-left:39px; }
  .home-story-approved .homepage-story-coverage { margin-top:34px; padding-top:27px; }
  .home-story-approved .homepage-story-coverage p { font-size:14px; line-height:1.85; }
}
@media(max-width:480px) {
  .home-story.home-story-approved { padding-inline:22px; }
  .home-story-approved .homepage-story-eyebrow { font-size:10px; letter-spacing:.22em; }
  .home-story-approved #home-story-title { font-size:clamp(42px,11.7vw,54px); line-height:1.1; }
  .home-story-approved .homepage-story-paragraphs p { font-size:19px; line-height:1.6; }
  .home-story-approved .homepage-film figcaption { font-size:14px; margin-top:10px; }
  .home-story-approved .homepage-video-play { width:62px; height:62px; }
  .home-story-approved .homepage-video-play svg { width:23px; height:23px; }
  .home-story-approved .homepage-benefit-list h3 { font-size:27px; }
  .home-story-approved .homepage-benefit-list p { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .home-story-approved .homepage-mission-trigger,.home-story-approved .homepage-video-play,.home-story-approved .homepage-connect-button,.home-story-approved .homepage-team-link,.home-story-approved .homepage-story-coverage p a { transition:none; }
}

/* A native top-layer dialog keeps the approved panel crisp above the whole page. */
.mission-dialog {
  position:fixed;
  inset:0;
  width:min(860px,calc(100% - 48px));
  max-width:none;
  height:fit-content;
  max-height:calc(100vh - 48px);
  max-height:calc(100dvh - 48px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid #dfc69c;
  border-radius:2px;
  background:#081e2b;
  color:#f0eadf;
  box-shadow:0 30px 100px #0005;
  opacity:0;
  transform:translateY(12px) scale(.97);
  transition:opacity 320ms ease,transform 320ms cubic-bezier(.2,.7,.2,1);
  font-family:inherit;
  text-align:left;
  overscroll-behavior:contain;
}
.mission-dialog:not([open]) { display:none; }
.mission-dialog.is-visible { opacity:1; transform:translateY(0) scale(1); }
.mission-dialog::backdrop,
.mission-fallback-backdrop {
  background:rgba(5,16,25,.98);
  opacity:0;
  transition:opacity 320ms ease;
}
.mission-dialog.is-visible::backdrop,
.mission-fallback-backdrop.is-visible { opacity:1; }
@supports ((backdrop-filter:blur(28px)) or (-webkit-backdrop-filter:blur(28px))) {
  .mission-dialog::backdrop,
  .mission-fallback-backdrop {
    background:rgba(5,16,25,.88);
    -webkit-backdrop-filter:blur(28px);
    backdrop-filter:blur(28px);
  }
}
.mission-dialog .mission-scroll {
  max-height:calc(100vh - 50px);
  max-height:calc(100dvh - 50px);
  padding:46px 58px 43px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  scrollbar-color:#dfc69c66 #081e2b;
}
.mission-dialog .mission-scroll:focus-visible {
  outline:1px solid #dfc69c88;
  outline-offset:-7px;
}
.mission-dialog #our-mission-title {
  margin:0 0 25px;
  padding-right:18px;
  font-family:var(--display,'Dash Atelier',Georgia,serif);
  color:#f0eadf;
  font-size:clamp(48px,4.75vw,72px);
  font-weight:400;
  line-height:1.1;
  letter-spacing:-.025em;
}
.mission-dialog .mission-story { font-size:clamp(18px,1.43vw,22px); line-height:1.55; }
.mission-dialog .mission-story p { margin:0 0 20px; color:#f0eadf; }
.mission-dialog .mission-story p:last-child { margin-bottom:0; }
.mission-dialog .mission-close {
  position:absolute;
  z-index:1;
  top:12px;
  right:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  padding:10px;
  border:1px solid transparent;
  border-radius:0;
  background:#081e2b;
  color:#dfc69c;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease;
}
.mission-dialog .mission-close:hover { border-color:#dfc69c66; background:#132f40; }
.mission-dialog .mission-close:focus-visible { outline:2px solid #dfc69c; outline-offset:2px; }
.mission-fallback-backdrop { position:fixed; inset:0; z-index:3000; }
.mission-dialog.is-fallback { z-index:3001; }
@media(max-width:600px) {
  .mission-dialog { width:calc(100% - 28px); max-height:calc(100vh - 28px); max-height:calc(100dvh - 28px); }
  .mission-dialog .mission-scroll { padding:57px 25px 32px; max-height:calc(100vh - 30px); max-height:calc(100dvh - 30px); }
  .mission-dialog #our-mission-title { font-size:48px; margin-bottom:24px; padding-right:0; }
  .mission-dialog .mission-story { font-size:17px; line-height:1.65; }
  .mission-dialog .mission-story p { margin-bottom:20px; }
  .mission-dialog .mission-close { top:8px; right:8px; }
}
@media(max-height:540px) and (min-width:601px) {
  .mission-dialog .mission-scroll { padding:36px 52px; }
  .mission-dialog #our-mission-title { font-size:48px; }
  .mission-dialog .mission-story { font-size:18px; }
}
@media(prefers-reduced-motion:reduce) {
  .mission-dialog,.mission-dialog::backdrop,.mission-fallback-backdrop,.mission-dialog .mission-close { transition:none; }
  .mission-dialog { transform:none; }
}

/* Approved Footer.png composition. All rules are local to the shared footer. */
.site-footer.launch-footer {
  position:relative; isolation:isolate; z-index:2; overflow:hidden;
  background:#00121d; color:#f4f6f7; border-top:1px solid #e8eef11a;
  font-family:var(--sans); font-style:normal; font-weight:400;
}
.site-footer.launch-footer .footer-shell {
  position:relative; z-index:1; width:100%; max-width:none; margin:0;
  padding:clamp(74px,5.5vw,126px) clamp(20px,1vw,32px) 12px;
}
.site-footer.launch-footer .footer-composition {
  display:grid; grid-template-columns:minmax(0,28fr) minmax(0,50fr) minmax(0,17fr);
  gap:clamp(32px,3vw,68px); align-items:start;
}
.site-footer.launch-footer .footer-brand-block {
  min-width:0; align-self:stretch; padding-right:clamp(22px,1.6vw,36px);
  border-right:1px solid #d8e4e68c;
}
.site-footer.launch-footer .footer-brand {
  display:flex; align-items:center; gap:.18em; margin:0;
  color:#fff; font-family:var(--sans); font-size:clamp(26px,2.35vw,52px);
  font-weight:400; font-style:normal; line-height:1.18; letter-spacing:-.055em; white-space:nowrap;
}
.site-footer.launch-footer .footer-brand strong { color:#fff; font-weight:750; }
.site-footer.launch-footer .footer-brand > span { color:#fff; font-weight:350; }
.site-footer.launch-footer .footer-brand i {
  display:block; flex:1 1 auto; max-width:5.55vw; min-width:30px;
  height:2px; margin-left:clamp(12px,1.1vw,25px); background:#fff;
}
.site-footer.launch-footer .footer-tagline {
  margin:clamp(19px,1.2vw,27px) 0 0; padding:0; color:#f4f6f7;
  font-family:var(--sans); font-size:clamp(16px,1.24vw,28px); font-style:normal;
  font-weight:400; line-height:1.5; letter-spacing:-.025em; white-space:nowrap;
}
.site-footer.launch-footer ul { list-style:none; padding:0; }
.site-footer.launch-footer li { margin:0; padding:0; }
.site-footer.launch-footer .footer-locations {
  display:flex; flex-wrap:nowrap; align-items:center; gap:clamp(13px,1.25vw,28px);
  margin:clamp(32px,2.75vw,62px) 0 0;
}
.site-footer.launch-footer a,
.site-footer.launch-footer .footer-nav-action {
  position:relative; display:inline-flex; align-items:center; min-height:44px;
  max-width:100%; margin:0; padding:0; border:0; background:transparent;
  color:#e7edf0; font-family:var(--sans); font-size:inherit; font-style:normal;
  font-weight:400; line-height:1.5; letter-spacing:-.02em; text-align:left;
  text-decoration:underline; text-decoration-color:transparent; text-underline-offset:5px;
  cursor:pointer; transition:color .2s ease,text-decoration-color .2s ease;
}
.site-footer.launch-footer a:hover,
.site-footer.launch-footer .footer-nav-action:hover { color:#fff; text-decoration-color:#e7edf080; }
.site-footer.launch-footer :is(a,button):focus-visible {
  outline:2px solid #00cafa; outline-offset:5px; border-radius:2px;
}
.site-footer.launch-footer .footer-locations a {
  gap:7px; font-size:clamp(15px,1.14vw,25px); line-height:1.4; white-space:nowrap;
}
.site-footer.launch-footer .footer-location-pin { flex-shrink:0; width:clamp(17px,1.3vw,30px); height:clamp(22px,1.6vw,35px); color:#f5f7f8; }
.site-footer.launch-footer .footer-socials {
  display:flex; align-items:center; gap:clamp(17px,1.45vw,32px);
  margin:clamp(21px,1.65vw,37px) 0 0;
}
.site-footer.launch-footer .footer-social-pending,
.site-footer.launch-footer .footer-social-link { display:flex; width:44px; height:44px; align-items:center; justify-content:flex-start; color:#f5f7f8; }
.site-footer.launch-footer .footer-social-pending { cursor:default; }
.site-footer.launch-footer .footer-social-icon { display:block; width:clamp(27px,1.8vw,40px); height:clamp(27px,1.8vw,40px); }
.site-footer.launch-footer .footer-navigation {
  display:grid; grid-template-columns:1.1fr 1.4fr 1fr .87fr;
  gap:clamp(22px,2.4vw,54px); min-width:0; margin:0; padding:8px 0 0;
}
.site-footer.launch-footer .footer-nav-group { min-width:0; }
.site-footer.launch-footer .footer-nav-title {
  margin:0 0 clamp(13px,.7vw,18px); padding:0; border:0; color:#fff;
  font-family:var(--sans); font-size:clamp(14px,1.08vw,24px); font-style:normal;
  font-weight:700; letter-spacing:-.01em; line-height:1.3; white-space:nowrap;
}
.site-footer.launch-footer .footer-nav-group ul { margin:0; }
.site-footer.launch-footer .footer-nav-group a,
.site-footer.launch-footer .footer-nav-action {
  min-height:clamp(44px,2.37vw,53px); font-size:clamp(16px,1.16vw,26px);
  line-height:1.45; white-space:nowrap;
}
.site-footer.launch-footer .footer-connect {
  display:flex; align-items:center; justify-content:center; gap:11px;
  width:100%; min-height:clamp(58px,3.95vw,88px); padding:14px 16px;
  margin-top:clamp(32px,2.2vw,48px); border:1px solid #00cafa;
  border-radius:clamp(22px,1.45vw,33px); color:#00cafa;
  font-size:clamp(15px,1.09vw,24px); font-weight:700; line-height:1.25;
  letter-spacing:0; white-space:nowrap; text-decoration:none;
  transition:background .2s ease,color .2s ease;
}
.site-footer.launch-footer .footer-connect:hover { color:#00121d; background:#00cafa; text-decoration:none; }
.site-footer.launch-footer .footer-cta-arrow { width:clamp(24px,1.65vw,36px); height:24px; flex-shrink:0; }
.site-footer.launch-footer .footer-decoration { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; user-select:none; }
.site-footer.launch-footer .footer-monument {
  position:absolute; left:50%; top:-.12em; display:block; width:max-content; margin:0; padding:0;
  transform:translateX(-50%) scaleX(1.33); color:#043044; opacity:.2; background:none;
  font-family:var(--sans); font-size:33.5vw; font-weight:850; font-style:normal;
  line-height:1; letter-spacing:-.075em; white-space:nowrap;
  -webkit-text-fill-color:currentColor;
}
.site-footer.launch-footer .footer-utility {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:8px 24px; margin-top:clamp(80px,6vw,140px); padding-top:clamp(17px,1.05vw,25px);
  border-top:1px solid #ecf2f6bb; font-size:clamp(13px,1.05vw,23px); color:#e7edf0;
}
.site-footer.launch-footer .footer-copyright {
  margin:0; max-width:100%; color:inherit; font-family:var(--sans); font-size:inherit;
  font-weight:400; line-height:1.5; letter-spacing:-.025em;
}
.site-footer.launch-footer .footer-bottom-links {
  display:flex; align-items:center; flex-wrap:wrap; gap:0; margin:0; color:inherit;
}
.site-footer.launch-footer .footer-bottom-links li { display:flex; align-items:center; min-height:44px; }
.site-footer.launch-footer .footer-bottom-links li + li { margin-left:clamp(15px,1.2vw,26px); padding-left:clamp(15px,1.2vw,26px); border-left:1px solid #d6e0e16b; }
.site-footer.launch-footer .footer-bottom-links a { white-space:nowrap; }
.site-footer.launch-footer .footer-bottom-links span { letter-spacing:-.025em; }
.site-footer.launch-footer [data-footer-top] { gap:11px; }
.site-footer.launch-footer .footer-top-arrow { width:22px; height:26px; flex-shrink:0; }
@media (max-width:1439px) {
  .site-footer.launch-footer .footer-shell { padding:70px 4vw 20px; }
  .site-footer.launch-footer .footer-composition { grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr); gap:30px 4vw; }
  .site-footer.launch-footer .footer-brand-block { grid-row:1 / span 2; }
  .site-footer.launch-footer .footer-brand { font-size:clamp(28px,2.45vw,36px); }
  .site-footer.launch-footer .footer-tagline { font-size:clamp(15px,1.3vw,18px); white-space:normal; max-width:29ch; }
  .site-footer.launch-footer .footer-locations { flex-wrap:wrap; gap:0 20px; margin-top:27px; }
  .site-footer.launch-footer .footer-locations a { font-size:16px; }
  .site-footer.launch-footer .footer-navigation { gap:22px; grid-template-columns:1.15fr 1.3fr 1fr .9fr; }
  .site-footer.launch-footer .footer-nav-title { font-size:13px; white-space:normal; min-height:34px; margin-bottom:6px; }
  .site-footer.launch-footer .footer-nav-group a,.site-footer.launch-footer .footer-nav-action { font-size:16px; white-space:normal; }
  .site-footer.launch-footer .footer-connect { grid-column:2; justify-self:end; width:235px; min-height:58px; margin:0; }
  .site-footer.launch-footer .footer-utility { margin-top:80px; font-size:14px; }
}
@media (max-width:1050px) {
  .site-footer.launch-footer .footer-shell { padding:58px 5vw 24px; }
  .site-footer.launch-footer .footer-composition { grid-template-columns:1fr; gap:35px; }
  .site-footer.launch-footer .footer-brand-block { grid-row:auto; padding:0 0 31px; border-right:0; border-bottom:1px solid #d8e4e640; }
  .site-footer.launch-footer .footer-brand { font-size:36px; }
  .site-footer.launch-footer .footer-brand i { flex:0 0 78px; max-width:none; }
  .site-footer.launch-footer .footer-tagline { max-width:none; font-size:18px; margin-top:15px; }
  .site-footer.launch-footer .footer-locations { margin-top:22px; gap:0 24px; }
  .site-footer.launch-footer .footer-socials { margin-top:13px; gap:15px; }
  .site-footer.launch-footer .footer-navigation { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:0; }
  .site-footer.launch-footer .footer-nav-title { min-height:34px; font-size:14px; }
  .site-footer.launch-footer .footer-nav-group a,.site-footer.launch-footer .footer-nav-action { font-size:17px; min-height:44px; }
  .site-footer.launch-footer .footer-connect { grid-column:auto; justify-self:start; margin-top:3px; font-size:16px; }
  .site-footer.launch-footer .footer-monument { top:auto; bottom:80px; font-size:42vw; opacity:.17; }
  .site-footer.launch-footer .footer-utility { align-items:flex-start; gap:15px; margin-top:73px; }
}
@media (max-width:650px) {
  .site-footer.launch-footer .footer-shell { padding:44px 24px 22px; }
  .site-footer.launch-footer .footer-composition { gap:29px; }
  .site-footer.launch-footer .footer-brand { font-size:30px; }
  .site-footer.launch-footer .footer-brand i { flex:1 1 auto; max-width:65px; min-width:26px; margin-left:14px; }
  .site-footer.launch-footer .footer-tagline { font-size:16px; line-height:1.6; letter-spacing:-.025em; }
  .site-footer.launch-footer .footer-locations { gap:0 18px; }
  .site-footer.launch-footer .footer-locations a { font-size:15px; }
  .site-footer.launch-footer .footer-navigation { grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); gap:28px 20px; }
  .site-footer.launch-footer .footer-nav-title { font-size:12px; min-height:31px; margin-bottom:4px; letter-spacing:.025em; }
  .site-footer.launch-footer .footer-nav-group a,.site-footer.launch-footer .footer-nav-action { font-size:16px; line-height:1.35; }
  .site-footer.launch-footer .footer-connect { width:235px; max-width:100%; }
  .site-footer.launch-footer .footer-utility { margin-top:68px; gap:19px; padding-top:22px; font-size:13px; }
  .site-footer.launch-footer .footer-copyright { max-width:34ch; line-height:1.7; }
  .site-footer.launch-footer .footer-bottom-links { gap:3px 0; width:100%; }
  .site-footer.launch-footer .footer-bottom-links li + li { margin-left:12px; padding-left:12px; }
  .site-footer.launch-footer .footer-bottom-links li:last-child { flex:0 0 100%; margin:5px 0 0; padding:0; border:0; }
  .site-footer.launch-footer .footer-top-arrow { width:18px; height:23px; }
}
@media (prefers-reduced-motion:reduce) {
  .site-footer.launch-footer a,.site-footer.launch-footer .footer-nav-action { transition:none; }
}

/* Education is a small interface notice, separate from the Home mission story. */
.education-dialog {
  position:fixed; inset:0; margin:auto; padding:0;
  width:min(540px,calc(100% - 40px)); max-width:none; height:fit-content;
  max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px);
  overflow:auto; overscroll-behavior:contain;
  border:1px solid #dfc69c; border-radius:2px;
  background:#081e2b; color:#f0eadf; text-align:left; font-family:inherit;
  box-shadow:0 30px 100px #0005;
  opacity:0; transform:translateY(10px) scale(.98);
  transition:opacity 220ms ease,transform 220ms cubic-bezier(.2,.7,.2,1);
}
.education-dialog:not([open]) { display:none; }
.education-dialog.is-visible { opacity:1; transform:none; }
.education-dialog::backdrop,.education-fallback-backdrop {
  background:rgba(5,16,25,.98); opacity:0; transition:opacity 220ms ease;
}
.education-dialog.is-visible::backdrop,.education-fallback-backdrop.is-visible { opacity:1; }
@supports ((backdrop-filter:blur(28px)) or (-webkit-backdrop-filter:blur(28px))) {
  .education-dialog::backdrop,.education-fallback-backdrop {
    background:rgba(5,16,25,.88); -webkit-backdrop-filter:blur(28px); backdrop-filter:blur(28px);
  }
}
.education-panel { padding:58px 48px 44px; }
.education-dialog .education-panel h2 {
  margin:0 0 18px; padding:0;
  font-family:var(--display,'Dash Atelier',Georgia,serif);
  font-size:clamp(42px,4vw,58px); line-height:1.1; font-weight:400; letter-spacing:-.02em;
  color:#f0eadf;
}
.education-dialog .education-panel p { margin:0; color:#f0eadf; font-size:19px; line-height:1.65; }
.education-dialog .education-close {
  position:absolute; top:10px; right:10px; display:flex; align-items:center; justify-content:center;
  width:44px; height:44px; padding:10px; border:1px solid transparent; border-radius:0;
  background:#081e2b; color:#dfc69c; cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease;
}
.education-dialog .education-close:hover { border-color:#dfc69c66; background:#132f40; }
.education-dialog .education-close:focus-visible { outline:2px solid #dfc69c; outline-offset:2px; }
.education-fallback-backdrop { position:fixed; inset:0; z-index:3000; }
.education-dialog.is-fallback { z-index:3001; }
@media(max-width:600px) {
  .education-dialog { width:calc(100% - 28px); max-height:calc(100vh - 28px); max-height:calc(100dvh - 28px); }
  .education-panel { padding:58px 27px 35px; }
}
@media(prefers-reduced-motion:reduce) {
  .education-dialog,.education-dialog::backdrop,.education-fallback-backdrop,.education-dialog .education-close { transition:none; }
  .education-dialog { transform:none; }
}

/* Public website policies: scoped typography, no effect on existing sections. */
.legal-page{padding:clamp(118px,10vw,164px) 0 clamp(80px,8vw,132px)}
.legal-page .breadcrumbs{padding-top:0;margin-bottom:clamp(36px,4vw,62px)}
.legal-document{width:min(880px,calc(100% - 48px));margin:0 auto}
.legal-heading{padding-bottom:clamp(32px,4vw,54px);border-bottom:1px solid rgba(223,198,156,.22);margin-bottom:clamp(34px,4vw,56px)}
.legal-heading h1{font-family:"Dash Atelier",Georgia,serif;font-weight:400;font-size:clamp(48px,6vw,88px);line-height:1.04;letter-spacing:-.025em;color:#f0eadf;margin:0 0 24px}
.legal-effective{font-size:13px;line-height:1.6;letter-spacing:.035em;color:#b6b9bc;margin:0}
.legal-copy section+section{margin-top:38px}
.legal-copy h2{font-family:inherit;font-size:clamp(19px,1.55vw,23px);font-weight:500;line-height:1.35;letter-spacing:0;color:#dfc69c;margin:0 0 14px}
.legal-copy p{font-size:clamp(16px,1.35vw,18px);line-height:1.85;letter-spacing:0;color:#d2d5d6;margin:0}
.legal-copy p+p{margin-top:18px}
.legal-copy a{color:#e6d3b6;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;overflow-wrap:anywhere;transition:color .18s ease}
.legal-copy a:hover{color:#fff}
.legal-page a:focus-visible{outline:2px solid #dfc69c;outline-offset:5px}
@media(max-width:600px){.legal-document{width:calc(100% - 40px)}.legal-page{padding-top:110px}.legal-copy section+section{margin-top:30px}.legal-copy p{line-height:1.78}.legal-heading h1{font-size:clamp(42px,11vw,58px)}}
@media(prefers-reduced-motion:reduce){.legal-copy a{transition:none}}

/* Confirmed meeting refinements. No scene timeline or geometry changes. */
:root {
  /* Exact approved homepage Let's connect fill, shared across CTA buttons. */
  --dash-cta-champagne:#dfc69c;
  --dash-cta-ink:#10232e;
  --dash-cta-hover:#efdab8;
  --dash-cta-pressed:#cdb286;
  --dash-sign-in:#829783;
}
.home-story.home-story-approved { --story-champagne:var(--dash-cta-champagne); }

body[data-page=home] .home-hero-title .home-signature {
  position:absolute; top:100%; left:0; right:0;
  margin:12px 0 0;
  font-family:var(--display); font-weight:400;
  font-size:26px; line-height:1.12;
  letter-spacing:-.025em; color:#e4d9c5;
}
@media(max-width:600px) {
  body[data-page=home] .home-hero-title .home-signature {
    /* The existing responsive camera measures this block and leaves room for
       the third line, using its unchanged framing and animation code. */
    position:static; margin:10px 0 0;
    font-size:27px; line-height:1.12;
  }
}

/* Explicit CTA classes only: ordinary links, selectors, gallery buttons and
   the implant Expand control retain their approved treatment. */
body :is(a.button.primary,a.button.text-button[href*="/contact"],.header-contact,
  .home-outline,.homepage-connect-button,.homepage-team-link,
  .site-footer.launch-footer .footer-connect,#contact-form button[type="submit"]) {
  background:var(--dash-cta-champagne);
  border-color:var(--dash-cta-champagne); color:var(--dash-cta-ink);
  box-shadow:none; text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body a.button.text-button[href*="/contact"] { padding-inline:22px; }
body :is(a.button.primary,a.button.text-button[href*="/contact"],.header-contact,
  .home-outline,.homepage-connect-button,.homepage-team-link,
  .site-footer.launch-footer .footer-connect,#contact-form button[type="submit"]):hover {
  background:var(--dash-cta-hover); border-color:var(--dash-cta-hover);
  color:var(--dash-cta-ink); box-shadow:none; text-decoration:none;
}
body :is(a.button.primary,a.button.text-button[href*="/contact"],.header-contact,
  .home-outline,.homepage-connect-button,.homepage-team-link,
  .site-footer.launch-footer .footer-connect,#contact-form button[type="submit"]):focus-visible {
  outline:3px solid var(--dash-cta-champagne); outline-offset:5px;
  box-shadow:0 0 0 2px #07131f;
}
body :is(a.button.primary,a.button.text-button[href*="/contact"],.header-contact,
  .home-outline,.homepage-connect-button,.homepage-team-link,
  .site-footer.launch-footer .footer-connect,#contact-form button[type="submit"]):active {
  background:var(--dash-cta-pressed); border-color:var(--dash-cta-pressed);
  color:var(--dash-cta-ink); transform:translateY(0);
}
body :is(a.button.primary,a.button.text-button[href*="/contact"],.header-contact,
  .home-outline,.homepage-connect-button,.homepage-team-link,
  .site-footer.launch-footer .footer-connect,#contact-form button[type="submit"]):is(:disabled,[aria-disabled="true"]) {
  background:#aa9b84; border-color:#aa9b84; color:var(--dash-cta-ink);
  opacity:1; cursor:not-allowed; transform:none; box-shadow:none;
}
body .header-contact .contact-dot { background:currentColor; }
body :is(.header-sign-in,.mobile-nav .mobile-sign-in) {
  background:var(--dash-sign-in); border-color:var(--dash-sign-in);
  color:var(--dash-cta-ink); text-decoration:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
body :is(.header-sign-in,.mobile-nav .mobile-sign-in):hover {
  background:#92a792; border-color:#92a792; color:var(--dash-cta-ink);
}
body :is(.header-sign-in,.mobile-nav .mobile-sign-in):focus-visible {
  outline:3px solid #92a792; outline-offset:5px; box-shadow:0 0 0 2px #07131f;
}
body :is(.header-sign-in,.mobile-nav .mobile-sign-in):active {
  background:#788d7c; border-color:#788d7c; color:var(--dash-cta-ink);
}
body :is(.header-sign-in,.mobile-nav .mobile-sign-in)[aria-disabled="true"] {
  background:#819084; border-color:#819084; color:var(--dash-cta-ink);
  cursor:not-allowed;
}
@media(prefers-reduced-motion:reduce) {
  body :is(a.button.primary,a.button.text-button[href*="/contact"],.header-contact,
    .home-outline,.homepage-connect-button,.homepage-team-link,
    .site-footer.launch-footer .footer-connect,#contact-form button[type="submit"],
    .header-sign-in,.mobile-nav .mobile-sign-in) { transition:none; }
}

/* v41: three requested styling restorations. Scope these exceptions to the
   shared header/footer so every other approved champagne CTA stays unchanged. */
body#top .site-header :is(.header-contact,.header-sign-in,.mobile-sign-in,.mobile-nav>a[href$="/contact/"]) {
  --dash-header-outline:#b6ae9866;
  background:transparent; border-color:var(--dash-header-outline);
  color:#f0eadf; box-shadow:none; text-decoration:none;
}
body#top .site-header :is(.header-contact,.header-sign-in,.mobile-sign-in,.mobile-nav>a[href$="/contact/"]):hover {
  --dash-header-outline:#d4c5a7;
  background:transparent; color:#f0eadf;
}
body#top .site-header :is(.header-contact,.header-sign-in,.mobile-sign-in,.mobile-nav>a[href$="/contact/"]):active {
  --dash-header-outline:#a89b82;
  background:transparent; color:#f0eadf;
}
body#top .site-header :is(.header-contact,.header-sign-in,.mobile-sign-in,.mobile-nav>a[href$="/contact/"]):focus-visible {
  outline:3px solid #d4c5a7; outline-offset:5px;
}
body#top .site-header :is(.header-contact,.header-sign-in,.mobile-sign-in,.mobile-nav>a[href$="/contact/"])[aria-disabled="true"] {
  --dash-header-outline:#b6ae9866;
  background:transparent; color:#b5b5b2; cursor:not-allowed;
}
/* Inset outlines do not add border width or change mobile link dimensions. */
body#top .site-header .mobile-nav>a:is(.mobile-sign-in,[href$="/contact/"]) {
  border-color:transparent;
  box-shadow:inset 0 0 0 1px var(--dash-header-outline);
}
body#top .site-footer.launch-footer .footer-connect {
  background:#00cafa; border-color:#00cafa; color:#00121d;
}
body#top .site-footer.launch-footer .footer-connect:hover {
  background:#35d6fa; border-color:#35d6fa; color:#00121d;
}
body#top .site-footer.launch-footer .footer-connect:active {
  background:#00b5df; border-color:#00b5df; color:#00121d;
}
body#top .site-footer.launch-footer .footer-connect:focus-visible {
  outline:3px solid #00cafa; outline-offset:5px;
  box-shadow:0 0 0 2px #07131f;
}
body#top .site-footer.launch-footer .footer-connect[aria-disabled="true"] {
  background:#6f99a3; border-color:#6f99a3; color:#00121d;
}

/* Eight approved All-on-X photographs, after the single requested removal. */
body[data-page="all-on-x"] .meeting-photo-gallery {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

body[data-page="all-on-x"] .meeting-photo-gallery .gallery-item:nth-child(n) {
  grid-column: auto;
  transform: none;
}

body[data-page="all-on-x"] .meeting-photo-gallery .gallery-item:nth-child(n) img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

@media (max-width: 1100px) {
  body[data-page="all-on-x"] .meeting-photo-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

@media (max-width: 600px) {
  body[data-page="all-on-x"] .meeting-photo-gallery {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }
}

/* Dash integration: direct-submission confirmation + honeypot (contact form). */
.inquiry-success{display:flex;align-items:center;gap:14px;margin:0 0 22px;padding:14px 16px;border:1px solid rgba(34,197,94,.55);border-radius:10px;background:rgba(34,197,94,.10);color:#e7f6ec;font-family:Arial,sans-serif;font-size:15px;line-height:1.5}
.inquiry-success[hidden]{display:none}
.inquiry-success:focus{outline:2px solid #22c55e;outline-offset:3px}
.inquiry-success-check{flex:none}
.inquiry-success strong{display:block;font-weight:700}
.inquiry-success span{display:block}
.inquiry-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
#contact-form button[type=submit][disabled]{opacity:.7;cursor:default}

/* ─────────────────────────────────────────────────────────────────────────────
   v42 header: nav type scales with the viewport, and the two header buttons
   stop looking identical.

   The desktop nav only renders above 1280px, and between 1281-1500px an earlier
   block compresses it to a flat gap:14px / padding-inline:12px. Above 1500px
   nothing scaled back up, so on a 1800px+ display the links sat at 14px in a bar
   98px tall with ~350px of unused width. These clamps replace the fixed sizes:
   the low end matches what the narrow band already produced, so nothing gets
   smaller than it is today — it only grows on wide screens.

   The v41 restoration put BOTH header CTAs on a transparent champagne outline.
   "Become a partner" is the conversion and now carries the champagne fill;
   "Sign in" keeps the v41 outline treatment, so the pair reads as primary and
   secondary rather than as two of the same control.
   ───────────────────────────────────────────────────────────────────────────── */

@media (min-width:1281px) {
  .desktop-nav {
    font-size: clamp(15px, 1.02vw, 19px);
    gap: clamp(14px, 1.3vw, 30px);
  }
  .header-contact,
  .header-sign-in {
    font-size: clamp(14px, .88vw, 16.5px);
    padding-inline: clamp(14px, 1.05vw, 22px);
    min-height: clamp(42px, 2.6vw, 50px);
  }
  .header-actions { gap: clamp(10px, .7vw, 14px); }
  .header-inner   { gap: clamp(18px, 1.8vw, 36px); }

  /* Home pinned the nav hard right with margin-left:auto against an unbounded
     header; centre it in the space between the brand and the actions instead. */
  body[data-page=home] .desktop-nav,
  .desktop-nav { margin-inline: auto; }
}

/* Primary: Become a partner.

   The v41 rule is body#top .site-header :is(.header-contact, ..., .mobile-nav>a[href$="/contact/"]).
   :is() carries the specificity of its MOST specific argument, and that last one is
   (0,2,1) — so the whole selector is (1,3,2), not the (1,2,1) a quick read suggests.
   Hence the longer chain here: (1,4,1) beats it on class count. Do not shorten it. */
body#top .site-header .header-inner .header-actions .header-contact {
  background: var(--dash-cta-champagne);
  border-color: var(--dash-cta-champagne);
  color: var(--dash-cta-ink);
  font-weight: 500;
}
body#top .site-header .header-inner .header-actions .header-contact:hover {
  background: var(--dash-cta-hover);
  border-color: var(--dash-cta-hover);
  color: var(--dash-cta-ink);
}
body#top .site-header .header-inner .header-actions .header-contact:active {
  background: var(--dash-cta-pressed);
  border-color: var(--dash-cta-pressed);
  color: var(--dash-cta-ink);
}
body#top .site-header .header-inner .header-actions .header-contact .contact-dot {
  background: var(--dash-cta-ink);
  box-shadow: none;
}
