@font-face{font-family:Manrope;src:url('assets/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-800.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--red:#ed4141;--deep:#181416;--ink:#251d20;--muted:#746d70;--line:#e3dddf;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;color:var(--ink);background:#fff;font-family:Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;border:0}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;padding:15px;background:#fff;color:var(--ink)}.skip-link:focus{top:20px}
.hero{position:relative;isolation:isolate;min-height:850px;height:110svh;max-height:1250px;overflow:hidden;background:var(--deep);color:white}.hero-scene{position:absolute;inset:0;z-index:-3;overflow:hidden}.hero-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:hue-rotate(135deg) saturate(.85);opacity:0;transform:scale(1.065);transition:opacity 2.5s ease,transform 10s linear;will-change:opacity,transform}.hero-image.active{opacity:1;transform:scale(1)}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#1610139c 0%,#1d11162b 30%,#1d111643 54%,#171214a6 80%,#17121433 100%)}.hero-shade:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#2810173b,transparent 50%,#2810173b)}
.header{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:29px 5%;gap:20px}.brand{display:inline-flex;flex-direction:column;line-height:1}.brand>span{font-size:27px;font-weight:800;letter-spacing:-1.7px}.brand small{font-size:12px;letter-spacing:.34em;margin-top:7px;font-weight:600}.brand-dot{color:var(--red)}nav{display:flex;align-items:center;gap:35px;font-size:14px}nav>a{transition:opacity .2s}nav>a:hover{opacity:.75}.nav-cta{border:1px solid #ffffff70;padding:14px 21px;border-radius:3px}
.eyebrow{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;line-height:1.6;display:flex;align-items:center;gap:12px}.accent-rule{display:inline-block;flex:none;width:27px;height:2px;background:var(--red)}.opening{position:absolute;top:25%;left:5%;right:5%;z-index:4;text-align:center}.opening .eyebrow{justify-content:center;margin:0 0 24px;color:#fff2f3}.opening h1{font-size:clamp(70px,16.5vw,255px);line-height:.9;font-weight:800;letter-spacing:-.075em;margin:0}.hero-dot{color:var(--red)}.opening-subtitle{font-size:clamp(20px,2.1vw,34px);letter-spacing:-.035em;margin:27px 0 0}.hero-description{font-size:16px;line-height:1.65;color:#f0e6e8;margin:20px 0 0}.hero-actions{display:flex;justify-content:center;align-items:center;gap:34px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 26px;min-height:53px;font-size:14px;font-weight:600;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.red{background:var(--red);color:white}.red:hover{background:#cd272e}.text-action{display:flex;align-items:center;gap:17px;font-size:14px;padding:14px 0}.scroll-icon{display:inline-block;width:17px;height:25px;border:1px solid #fff9;border-radius:9px;position:relative}.scroll-icon:after{content:'';position:absolute;left:7px;top:5px;width:1px;height:6px;background:white;animation:scrollhint 1.8s infinite}@keyframes scrollhint{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(6px);opacity:1}}
.hero-footer{position:absolute;left:5%;right:5%;bottom:19%;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:14px;color:#f5e8eb}.hero-footer>p{margin:0}.hero-controls{display:flex;align-items:center;gap:26px}.scene-select{display:flex;gap:10px}.scene-button{background:transparent;padding:10px 0;display:flex;align-items:center;gap:8px;color:#e6d8dc;font-size:12px;min-height:44px}.scene-button i{width:34px;height:2px;background:#ffffff50;display:block;transition:background .3s}.scene-button.selected{color:white}.scene-button.selected i{background:var(--red)}.motion-toggle{display:flex;align-items:center;gap:8px;color:#fff;background:transparent;padding:10px 0;font-size:12px;min-height:44px}.pause-icon{font-size:16px}.white-flow{position:absolute;left:0;right:0;bottom:-1px;height:19%;z-index:2;pointer-events:none;background:linear-gradient(transparent 0%,#ffffff2b 28%,#ffffffcc 72%,#fff 99%)}
.resources{padding:70px 5% 95px;display:grid;grid-template-columns:1fr 1.05fr;gap:10%;background:#fff}.section-intro .eyebrow{margin:0 0 30px;font-size:12px}.section-intro h2,.about h2{font-size:clamp(36px,4.1vw,69px);font-weight:600;line-height:1.08;letter-spacing:-.06em;margin:0 0 30px}.section-intro h2 span,.about h2 span{color:#978b90}.section-intro>p:not(.eyebrow){font-size:16px;line-height:1.8;max-width:440px;color:var(--muted);margin:0 0 27px}.service-list{padding-top:20px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:20px;padding:27px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.service-number{font-size:14px;color:#988990}summary h3{font-size:22px;font-weight:600;letter-spacing:-.035em;margin:0;flex:1}.expand{font-size:26px;font-weight:400;color:var(--red);transition:transform .3s}details[open] .expand{transform:rotate(45deg)}.service-detail{padding:0 0 29px 37px;max-width:510px;animation:detailEnter .35s ease}.service-detail p{font-size:16px;color:var(--muted);line-height:1.8;margin:0 0 20px}.detail-links{display:flex;flex-wrap:wrap;gap:15px 24px}.detail-links a,.underlined{display:inline-block;border-bottom:1px solid #bf9b9f;padding-bottom:6px;font-size:14px;transition:color .2s}.detail-links a:hover,.underlined:hover{color:#bd242b}@keyframes detailEnter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.about{margin:0 5%;padding:65px 0 100px;border-top:1px solid var(--line)}.about>.eyebrow{font-size:12px;color:var(--muted);margin:0 0 35px}.about-content{display:grid;grid-template-columns:1fr 1.05fr;gap:10%}.about h2{font-size:clamp(34px,3.5vw,59px);margin:0}.about-content>div>p{font-size:19px;line-height:1.8;letter-spacing:-.02em;margin:0 0 25px;max-width:580px;color:#675b60}.about-content>div>p.about-secondary{font-size:16px;color:#8b7d82}.portrait-line{display:flex;align-items:center;gap:18px;margin-top:29px}.portrait-line img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center 32%;filter:saturate(.7)}.portrait-line strong{display:block;font-size:15px;font-weight:600}.portrait-line span{display:block;font-size:13px;color:var(--muted);margin-top:6px}
.contact{position:relative;background:var(--deep);color:white;padding:88px 5% 76px;display:grid;grid-template-columns:1.7fr 1fr;gap:10%;overflow:hidden}.contact .eyebrow{color:#d7c6cc;font-size:12px;margin-top:0}.contact h2{font-size:clamp(42px,5.5vw,88px);font-weight:600;letter-spacing:-.065em;line-height:1.06;margin:38px 0 26px}.contact h2 span{color:var(--red)}.contact-top>p:not(.eyebrow){font-size:16px;line-height:1.7;color:#cbbbc1}.contact-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.contact-link{font-size:14px;border-bottom:1px solid #977880;padding-bottom:7px}.contact-details{display:flex;flex-direction:column;justify-content:center;gap:37px}.contact-details h3{font-size:14px;font-weight:600;margin:0 0 20px;color:#ff9999}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:15px 24px}.social-links a{font-size:14px;line-height:1.6;color:#e3d7dc;transition:color .2s}.social-links a:hover{color:#ff9999}
footer{padding:40px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#827379;font-size:13px}footer .brand{color:var(--ink)}footer .brand>span{font-size:24px}footer .brand small{font-size:12px}footer>small{font-size:12px}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}.js .reveal.visible{opacity:1;transform:none}.paused .scroll-icon:after{animation-play-state:paused}.paused .hero-image{transition-property:opacity}
@media(min-width:1800px){.opening{top:23%}.hero-footer{bottom:21%}.resources,.about-content{gap:12%}}
@media(max-width:900px){.hero{min-height:800px}.opening{top:27%}.hero-footer{bottom:20%}.hero-description{font-size:16px}.resources,.about-content{gap:6%}.contact{gap:6%;grid-template-columns:1.5fr 1fr}.contact-actions{align-items:flex-start;flex-direction:column;gap:23px}}
@media(max-width:760px){html{scroll-padding-top:25px}.header{padding:24px 6%;align-items:flex-start}.brand>span{font-size:24px}.brand small{font-size:12px;letter-spacing:.2em}nav{gap:0}nav>a:not(.nav-cta){display:none}.nav-cta{font-size:14px;padding:12px 15px}.hero{height:105svh;min-height:820px;max-height:1100px}.hero-image{object-position:center}.hero-shade{background:linear-gradient(#1b1116b0,#1b11166b 30%,#1b111679 55%,#1b1116bc 83%,#1b111644)}.opening{top:25%;left:6%;right:6%}.opening .eyebrow{font-size:12px;letter-spacing:.06em;gap:8px;margin-bottom:30px}.opening .accent-rule{width:16px}.opening h1{font-size:18vw;letter-spacing:-.078em}.opening-subtitle{font-size:20px;margin-top:23px}.hero-description{font-size:16px;line-height:1.65;margin-top:18px}.hero-actions{flex-direction:column;gap:12px;margin-top:28px}.button{font-size:14px;padding:16px 22px;min-height:52px}.text-action{font-size:14px}.hero-footer{left:6%;right:6%;bottom:15.5%;flex-direction:column;gap:12px;font-size:13px}.hero-controls{gap:25px}.scene-button i{width:32px}.white-flow{height:14%}.resources{padding:55px 6% 65px;grid-template-columns:1fr;gap:35px}.section-intro .eyebrow{font-size:12px;gap:8px;margin-bottom:25px}.section-intro .accent-rule{width:18px}.section-intro h2{font-size:41px;margin-bottom:25px}.section-intro>p:not(.eyebrow){font-size:16px;line-height:1.75}.service-list{padding:0}summary{gap:15px;padding:25px 0}summary h3{font-size:21px}.service-detail{padding-left:32px}.service-detail p{font-size:16px}.about{margin:0 6%;padding:45px 0 65px}.about>.eyebrow{font-size:12px;margin-bottom:25px}.about-content{grid-template-columns:1fr;gap:30px}.about h2{font-size:38px}.about-content>div>p{font-size:17px;line-height:1.75}.contact{padding:60px 6%;grid-template-columns:1fr;gap:48px}.contact .eyebrow{font-size:12px;letter-spacing:.08em}.contact h2{font-size:11.5vw;margin-top:30px}.contact-top>p:not(.eyebrow){font-size:16px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:35px;border-top:1px solid #ffffff25}.contact-details h3{font-size:14px}.social-links{grid-template-columns:1fr;gap:13px}footer{padding:35px 6%;display:grid;grid-template-columns:1fr 1fr;gap:30px 18px}footer>span{font-size:12px;max-width:160px;justify-self:end}footer>small{justify-self:end}}
@media(max-width:370px){.opening .eyebrow{font-size:11px}.opening-subtitle{font-size:18px}.section-intro h2{font-size:36px}.nav-cta{padding:12px}.hero-controls{gap:15px}.contact .eyebrow{letter-spacing:.04em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.hero-image{transform:none!important}}
