/* Hallmark · macrostructure: Split Studio · tone: technical · anchor hue: navy */
/* Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V4 */
@import url('./tokens.css');
*{box-sizing:border-box}html,body{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--color-paper);color:var(--color-ink);font:400 var(--text-base)/1.85 var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}h1,h2,h3{min-width:0;overflow-wrap:anywhere;font-style:normal}h1,h2{font-family:var(--font-display);font-weight:700;line-height:1.5}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg);line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block;height:auto}svg{display:block}.wrap{width:min(1180px,100% - 48px);margin-inline:auto}.section{padding-block:var(--space-4xl)}.muted{color:var(--color-muted)}.note{font-size:var(--text-sm);color:var(--color-muted);line-height:1.7}.icon{width:64px;height:64px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--color-navy)}.icon .a{stroke:var(--color-gold-dark)}.arrow{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}.btn{display:inline-flex;justify-content:center;align-items:center;gap:var(--space-lg);min-height:56px;padding:14px 26px;border:1px solid var(--color-gold);background:var(--color-gold);color:var(--color-navy-deep);font-weight:700;font-size:var(--text-base);white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out);border-radius:var(--radius-sm)}.btn:hover{background:var(--color-cream);border-color:var(--color-cream)}.btn:active{transform:translateY(1px)}.btn.outline{background:var(--color-clear);border-color:var(--color-navy);color:var(--color-navy)}.btn.outline:hover{background:var(--color-navy);color:var(--color-white)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:5px}.textlink{display:inline-flex;align-items:center;gap:12px;min-height:44px;white-space:nowrap;text-decoration:underline;text-underline-offset:5px}.skip{position:absolute;top:0;left:16px;transform:translateY(-120%);background:var(--color-white);padding:12px;z-index:var(--z-modal)}.skip:focus{transform:none}
.header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:225px;max-height:56px;object-fit:contain}.header-right{display:flex;align-items:center;gap:28px}.tel{font-weight:700;font-size:24px;line-height:1.3;font-variant-numeric:tabular-nums;white-space:nowrap}.tel small{font-weight:400;font-size:12px;display:block;text-align:right;color:var(--color-muted);margin-top:3px}.header .btn{min-height:48px;font-size:14px;padding:10px 20px}.header .arrow{width:18px}
.hero{position:relative;min-height:625px;background:var(--color-navy-deep);color:var(--color-white);isolation:isolate;display:flex;align-items:center}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;z-index:-2}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--color-overlay),var(--color-overlay-soft) 55%,var(--color-overlay-zero) 80%);z-index:-1}.hero-copy{padding-block:64px;max-width:760px}.hero-service{display:inline-block;font-size:16px;letter-spacing:.05em;margin-bottom:22px;color:var(--color-light)}.hero h1{font-family:var(--font-body);font-size:var(--text-display);font-weight:700;line-height:1.55;letter-spacing:.015em}.hero h1 span{display:block}.hero h1 .second{font-size:.72em;margin-top:10px}.hero-lead{font-size:18px;line-height:1.9;margin-top:22px;max-width:35em;color:var(--color-light)}.hero .btn{margin-top:32px}.hero-small{font-size:13px;color:var(--color-light);margin-top:12px}.hero-figure-note{position:absolute;right:24px;bottom:14px;font-size:11px;color:var(--color-light)}
.quick{display:grid;grid-template-columns:1.2fr 1.2fr 1fr;gap:24px;padding-block:30px;align-items:center}.quick-item{display:flex;align-items:center;gap:14px}.quick .icon{width:42px;height:42px}.quick p{font-size:14px;color:var(--color-muted);line-height:1.6}.quick b{font-size:16px;color:var(--color-navy);display:block}.quick-price{justify-self:end}.quick-price strong{font-size:36px;line-height:1.3;letter-spacing:-.025em;color:var(--color-navy);font-variant-numeric:tabular-nums}.quick-price span{font-size:14px;margin-left:7px}.intro{background:var(--color-cream)}.intro-top{display:flex;justify-content:space-between;align-items:flex-end;gap:48px}.intro-top p{max-width:520px;color:var(--color-muted)}.jump-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:40px}.jump{display:flex;align-items:center;gap:16px;padding-block:16px;border-top:1px solid var(--color-line);min-width:0}.jump .icon{width:52px;height:52px}.jump strong{font-size:17px;line-height:1.5}.jump .arrow{margin-left:auto;color:var(--color-gold-dark);transform:rotate(90deg)}
.services{padding-block:88px}.service{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:68px;margin-bottom:88px;scroll-margin-top:32px}.service:last-child{margin-bottom:0}.service.reverse .service-photo{order:2}.service-photo{position:relative}.service-photo img{width:100%;aspect-ratio:1.45;object-fit:cover}.service-photo figcaption{margin-top:8px;font-size:12px;color:var(--color-muted)}.service-copy .icon{margin-bottom:16px}.service-copy h2{line-height:1.55;margin-bottom:20px}.service-copy p{color:var(--color-muted);line-height:1.9}.uses{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;padding:0;list-style:none}.uses li{font-size:13px;padding:5px 12px;background:var(--color-cream);color:var(--color-ink)}.mini-points{display:flex;gap:20px;margin-top:22px;flex-wrap:wrap}.mini-points span{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--color-navy)}.check{width:18px;height:18px;stroke:var(--color-gold-dark);fill:none;stroke-width:2}
.method{background:var(--color-navy-deep);color:var(--color-white);padding-block:80px}.method-top{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:64px;align-items:center}.method-copy p{color:var(--color-light);margin-top:22px}.method-photos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:16px;align-items:end}.method-photos figure:first-child img{aspect-ratio:1;object-fit:cover}.method-photos figure:last-child img{aspect-ratio:.8;object-fit:cover}.method figcaption{font-size:11px;color:var(--color-light);margin-top:7px}.capabilities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;margin-top:64px}.capability{border-top:1px solid var(--color-muted);padding-top:24px}.capability .icon{color:var(--color-white);width:58px;height:58px;margin-bottom:14px}.capability .icon .a{stroke:var(--color-gold)}.capability h3{font-size:17px}.capability p{font-size:14px;color:var(--color-light);margin-top:8px;line-height:1.8}
.connection{padding-block:80px}.connection-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px}.connection-head p{color:var(--color-muted);max-width:490px}.venue-map{margin-top:36px;background:var(--color-cream);padding:40px;display:grid;grid-template-columns:minmax(0,1fr) 100px minmax(0,1fr);align-items:center;gap:24px}.room{background:var(--color-paper);padding:30px;text-align:center;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center}.room .icon{width:74px;height:74px;margin-bottom:14px}.room h3{font-size:20px}.room p{font-size:14px;color:var(--color-muted);margin-top:5px}.connection-arrow{text-align:center;font-size:12px;color:var(--color-gold-dark)}.connection-arrow svg{width:100%;height:26px;margin-top:8px;fill:none;stroke:var(--color-gold-dark);stroke-width:1.5}.map-note{text-align:right;margin-top:12px;font-size:12px;color:var(--color-muted)}
.pricing{background:var(--color-cream);padding-block:80px}.price-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:80px;align-items:center}.price-main h2{margin-bottom:20px}.price-number{font-family:var(--font-number);font-variant-numeric:tabular-nums;color:var(--color-navy);font-size:clamp(48px,5vw,72px);font-weight:700;line-height:1.3;letter-spacing:-.05em}.price-number span{font-size:24px;letter-spacing:0;margin-left:8px}.price-number small{font-size:14px;font-weight:400;letter-spacing:0;margin-left:10px}.price-main>p{margin-top:16px;color:var(--color-muted);max-width:380px}.price-main .btn{margin-top:28px}.price-scope{background:var(--color-paper);padding:32px}.price-scope h3{font-size:18px}.scope-list{display:flex;gap:24px;margin:24px 0;padding:0;list-style:none}.scope-list li{flex:1;text-align:center;font-size:14px}.scope-list .icon{width:46px;height:46px;margin:0 auto 8px}.conditions{display:grid;grid-template-columns:100px minmax(0,1fr);font-size:14px;gap:12px;margin:0;padding-top:20px;border-top:1px solid var(--color-line)}.conditions dt{color:var(--color-muted)}.conditions dd{margin:0}.price-foot{font-size:12px;line-height:1.8;color:var(--color-muted);margin-top:16px}
.flow{padding-block:80px}.flow h2{margin-bottom:36px}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0;counter-reset:steps}.steps li{position:relative;padding-top:20px;border-top:1px solid var(--color-line)}.step-number{font-family:var(--font-number);font-size:14px;color:var(--color-gold-dark);margin-bottom:12px;display:block}.steps h3{font-size:17px}.steps p{font-size:14px;color:var(--color-muted);line-height:1.8;margin-top:10px}
.faq{padding-block:0 88px}.faq-layout{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:64px}.faq-title p{margin-top:16px;color:var(--color-muted);font-size:14px}.faq-item{border-bottom:1px solid var(--color-line)}.faq-item:first-child{border-top:1px solid var(--color-line)}summary{list-style:none;cursor:pointer;position:relative;padding:22px 42px 22px 32px;font-size:16px;font-weight:500;line-height:1.7}summary::-webkit-details-marker{display:none}summary::before{content:'Q';position:absolute;left:0;top:22px;color:var(--color-gold-dark);font-weight:700}summary::after{content:'＋';position:absolute;right:5px;top:20px;font-size:22px;font-weight:400;color:var(--color-muted)}details[open] summary::after{content:'−'}.faq-answer{padding:0 30px 24px 32px;color:var(--color-muted);font-size:15px;line-height:1.85}
.contact{background:var(--color-navy);color:var(--color-white);padding-block:72px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center}.contact h2{font-size:clamp(24px,2.6vw,36px)}.contact p{margin-top:20px;color:var(--color-light)}.contact-info{display:flex;gap:16px;margin-top:26px;flex-wrap:wrap}.contact-info span{font-size:14px;border-bottom:1px solid var(--color-muted);padding-bottom:8px}.contact-actions .btn{width:100%;min-height:64px}.contact-actions .note{color:var(--color-light);margin-top:12px;text-align:center}.contact-phone{margin-top:26px;display:flex;align-items:baseline;gap:18px;justify-content:center}.contact-phone a{font-size:25px;font-weight:700;white-space:nowrap}.contact-phone span{font-size:12px;color:var(--color-light)}.footer{padding-block:44px 32px}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}.footer-brand{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--color-navy);line-height:1.4}.footer-description{font-size:13px;color:var(--color-muted);margin-top:12px}.footer-links{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}.footer-links a{min-height:44px;display:flex;align-items:center;white-space:nowrap}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:28px;font-size:11px;color:var(--color-muted)}.mobile-dock{display:none}
@media(min-width:1600px){.hero{min-height:700px}.hero-photo{object-position:50% 45%}}
@media(max-width:980px){.service{gap:36px}.hero{min-height:580px}.hero-copy{max-width:640px}.hero-lead{font-size:16px}.header-right .tel{display:none}.quick{gap:16px}.quick b{font-size:14px}.quick-price strong{font-size:30px}.method-top{gap:32px}.capabilities{gap:24px}.price-grid{gap:40px}.faq-layout{gap:36px}.contact-grid{gap:40px}.intro-top,.connection-head{display:block}.intro-top p,.connection-head p{margin-top:20px;max-width:600px}}
@media(max-width:767px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.header{height:72px;gap:12px}.brand img{width:180px}.header .btn{min-height:42px;padding:8px 13px;font-size:13px;gap:8px}.header .btn .arrow{display:none}.hero{min-height:650px;align-items:flex-start}.hero-photo{object-position:63% 50%;opacity:.72}.hero::after{background:linear-gradient(90deg,var(--color-overlay),var(--color-overlay-soft) 90%)}.hero-copy{padding:48px 0 130px}.hero-service{font-size:13px;letter-spacing:0;margin-bottom:20px}.hero h1{font-size:clamp(24px,5.5vw,36px);line-height:1.65;letter-spacing:0}.hero h1 .second{font-size:1em;margin-top:0;max-width:11em}.hero-lead{margin-top:22px;font-size:16px;line-height:1.9;max-width:22em}.hero .btn{margin-top:28px;font-size:15px;padding-inline:20px;gap:20px}.hero-small{font-size:12px}.hero-figure-note{right:20px;bottom:18px;font-size:10px;max-width:240px;text-align:right}.quick{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-block:24px;gap:20px}.quick-item{gap:10px}.quick .icon{width:34px;height:34px}.quick p{font-size:12px}.quick b{font-size:13px}.quick-price{grid-column:1/-1;justify-self:stretch;padding-top:16px;border-top:1px solid var(--color-line);display:flex;align-items:baseline;justify-content:space-between}.quick-price strong{font-size:36px}.quick-price .price-label{font-size:14px;color:var(--color-muted)}.section,.services{padding-block:56px}.jump-list{grid-template-columns:minmax(0,1fr);gap:0;margin-top:28px}.jump{padding-block:18px;gap:16px}.jump .icon{width:44px;height:44px}.jump strong{font-size:16px}.intro-top p{margin-top:16px}.service{grid-template-columns:minmax(0,1fr);gap:24px;margin-bottom:56px}.service.reverse .service-photo{order:0}.service-photo img{aspect-ratio:1.45}.service-photo figcaption{font-size:11px}.service-copy .icon{width:52px;height:52px;margin-bottom:12px}.service-copy h2{margin-bottom:16px}.service-copy p{font-size:16px;line-height:1.9}.uses{margin-top:20px;gap:7px}.uses li{font-size:12px}.mini-points{gap:16px;margin-top:18px}.method{padding-block:56px}.method-top{grid-template-columns:minmax(0,1fr);gap:28px}.method-copy p{font-size:16px;margin-top:16px}.method-photos{gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,.72fr)}.capabilities{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;margin-top:40px}.capability h3{font-size:16px}.capability p{font-size:14px}.capability .icon{width:52px;height:52px}.connection{padding-block:56px}.connection-head p{font-size:16px;margin-top:16px}.venue-map{grid-template-columns:minmax(0,1fr);padding:20px;gap:16px;margin-top:24px}.room{padding:22px;min-height:auto;display:grid;grid-template-columns:64px minmax(0,1fr);gap:0 16px;text-align:left;justify-items:start}.room .icon{grid-row:1/3;width:60px;height:60px;margin:0}.room h3{font-size:18px}.room p{font-size:13px;margin-top:0}.connection-arrow{height:48px;display:flex;align-items:center;justify-content:center;gap:12px}.connection-arrow svg{width:50px;transform:rotate(90deg);margin:0}.map-note{font-size:11px;text-align:left}.pricing{padding-block:56px}.price-grid{grid-template-columns:minmax(0,1fr);gap:32px}.price-number{font-size:60px}.price-number span{font-size:22px}.price-main>p{font-size:15px;max-width:none}.price-main .btn{width:100%;margin-top:24px}.price-scope{padding:24px}.scope-list{gap:14px;margin-block:22px}.conditions{grid-template-columns:82px minmax(0,1fr);gap:12px;font-size:13px}.price-foot{font-size:12px}.flow{padding-block:56px}.flow h2{margin-bottom:24px}.steps{grid-template-columns:minmax(0,1fr);gap:22px}.steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:0 12px;padding-top:18px}.step-number{grid-row:1/3;margin:0;padding-top:2px}.steps h3{font-size:17px}.steps p{margin-top:6px;font-size:15px}.faq{padding-block:0 56px}.faq-layout{grid-template-columns:minmax(0,1fr);gap:24px}.faq-title p{margin-top:10px}.faq-answer{font-size:15px;padding-right:4px}summary{font-size:15px;padding-right:30px}.contact{padding-block:48px}.contact-grid{grid-template-columns:minmax(0,1fr);gap:28px}.contact h2{font-size:26px}.contact p{font-size:16px;margin-top:16px}.contact-info{gap:14px;margin-top:20px}.contact-info span{font-size:13px}.contact-actions .btn{min-height:60px;font-size:16px;padding-inline:20px}.contact-phone{flex-direction:column;gap:4px;align-items:center;margin-top:22px}.contact-phone a{font-size:25px}.footer{padding-block:32px 110px}.footer-top{display:block}.footer-links{gap:16px;margin-top:20px}.footer-bottom{display:block;margin-top:22px}.footer-bottom p+p{margin-top:10px}.mobile-dock{position:fixed;z-index:var(--z-sticky);bottom:0;left:0;width:100%;padding:12px 20px calc(12px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--color-paper);border-top:1px solid var(--color-line)}.dock-price{font-size:22px;font-weight:700;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap}.dock-price small{font-size:10px;display:block;color:var(--color-muted);font-weight:400;margin-top:3px}.mobile-dock .btn{font-size:14px;min-height:46px;padding:9px 17px;gap:12px}.mobile-dock .arrow{width:17px}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.brand img{width:154px}.header .btn{font-size:12px;padding-inline:10px}.hero h1{font-size:24px}.hero-service{font-size:12px}.hero-lead{font-size:15px}.hero .btn{font-size:14px}.price-number{font-size:50px}.quick-item{gap:7px}.quick .icon{width:30px;height:30px}.quick b{font-size:12px}.quick p{font-size:11px}.mobile-dock{padding-inline:16px;gap:10px}.dock-price{font-size:20px}.mobile-dock .btn{font-size:13px;padding-inline:14px;gap:7px}.capabilities{gap:24px 16px}.capability h3{font-size:15px}.capability p{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.mobile-dock,.skip{display:none}.hero{min-height:440px}.service,.pricing,.method{break-inside:avoid}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
