.frame{width:100%;max-width:375px;margin:0 auto;background:var(--color-white);position:relative;overflow:hidden}.container{width:100%;padding-left:var(--space-sm);padding-right:var(--space-sm)}section{padding-top:var(--space-section);padding-bottom:var(--space-section)}.ph{background:var(--color-line);color:var(--color-ink-muted);display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--text-micro);letter-spacing:.04em;line-height:1.7;padding:var(--space-sm);overflow:hidden}.ph,.ph span{position:relative}.ph span{z-index:1}.ph img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.ph.arch{border-radius:var(--radius-arch)}.sec-head{text-align:center;margin-bottom:var(--space-lg)}.sec-head .eyebrow{display:block;font-family:var(--font-latin-display);font-size:var(--text-micro);letter-spacing:.28em;color:var(--color-cobalt);margin-bottom:var(--space-xs);text-transform:uppercase}.sec-head h2{font-family:var(--font-serif);font-weight:300;font-size:var(--text-h2);line-height:var(--line-height-heading);letter-spacing:.04em}.sec-head h2:after{content:"";display:block;width:48px;height:2px;margin:var(--space-sm) auto 0;background:var(--grad-sky)}.kw{color:var(--color-cobalt)}.on-dark .kw{color:var(--color-lightblue)}.cta-block{flex-direction:column}.cta-block,.cta-btn{display:flex;align-items:center;gap:var(--space-xs)}.cta-btn{justify-content:center;width:100%;min-height:56px;background:var(--color-cta);color:var(--color-midnight);font-family:var(--font-sans);font-weight:500;font-size:var(--text-body);letter-spacing:.02em;padding:12px var(--space-sm);border-radius:var(--radius-cta);transition:var(--motion-hover);line-height:1.4}.cta-btn svg{width:1.15em;height:1.15em;flex:none}#header{position:fixed;top:0;left:50%;transform:translateX(-50%);width:100%;max-width:375px;z-index:100;background:var(--color-white);border-bottom:1px solid var(--color-line)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);height:56px}.logo{color:var(--color-ink);font-family:var(--font-sans);font-size:.6875rem;line-height:1.35;letter-spacing:.06em;flex:1;min-width:0}.logo small{display:block;font-size:.82em;letter-spacing:.1em;color:var(--color-ink-muted)}.logo-img{display:block;height:28px;width:auto}.header-actions{display:flex;align-items:center;gap:var(--space-sm);flex:none}.header-tel{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--color-midnight)}.header-tel svg{width:20px;height:20px}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;background:none;border:none;cursor:pointer;padding:0}.hamburger span{display:block;height:1.5px;width:22px;background:var(--color-ink)}#hero{position:relative;background:var(--color-midnight);color:var(--color-white);padding:56px 0 var(--space-lg);min-height:80vh}.hero-photo{position:relative;width:100%;aspect-ratio:3/4}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,72,120,0) 35%,rgba(38,72,120,.72) 72%,#264878)}.hero-inner{position:relative;z-index:2;margin-top:-72px;text-align:center}.hero-eyebrow{display:block;font-family:var(--font-latin-display);font-size:var(--text-micro);letter-spacing:.24em;color:var(--color-lightblue);margin-bottom:var(--space-sm)}#hero h1{font-family:var(--font-serif);font-weight:300;font-size:var(--text-h1);line-height:1.5;letter-spacing:.04em;margin-bottom:var(--space-md)}#hero h1 .line{display:block}.hero-sub{font-size:var(--text-body);color:rgba(255,255,255,.9);letter-spacing:.03em;line-height:1.7;margin-bottom:var(--space-lg)}.scroll-cue{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-latin-display);font-size:var(--text-micro);letter-spacing:.2em;color:rgba(255,255,255,.72)}.scroll-cue .arrow{font-size:1.1em;line-height:1;color:var(--color-lightblue)}#stage{background:var(--color-neutral)}.stage-list{display:flex;flex-direction:column;gap:var(--space-lg);margin-bottom:var(--space-md)}.stage-card{background:var(--color-white);border-radius:var(--radius-md);overflow:hidden}.stage-card .ph{aspect-ratio:4/3}.stage-card .ph.arch{aspect-ratio:3/4}.stage-card .card-body{padding:var(--space-md) var(--space-sm);text-align:center}.card-kicker{font-family:var(--font-latin-display);font-size:.875rem;letter-spacing:.28em;color:var(--color-cobalt);margin-bottom:var(--space-xs)}.stage-card .card-body p{line-height:var(--line-height-body);letter-spacing:.02em}.badge{display:inline-block;margin-top:var(--space-sm);background:var(--color-lightblue);color:var(--color-midnight);letter-spacing:.02em;padding:8px 14px;border-radius:var(--radius-md);line-height:1.6}.badge,.stage-note{font-size:var(--text-micro)}.stage-note{text-align:center;color:var(--color-ink-muted);line-height:1.7;margin-bottom:var(--space-md)}.stage-more{text-align:center;font-family:var(--font-serif);font-weight:300;font-size:var(--text-body);letter-spacing:.04em;position:relative;padding-top:var(--space-md)}.stage-more:before{content:"";display:block;width:40px;height:2px;background:var(--grad-sky);margin:0 auto var(--space-md)}#flow{background:var(--color-white)}.flow-list,.flow-step{position:relative}.flow-step{padding-bottom:var(--space-lg)}.flow-step:last-child{padding-bottom:0}.flow-step:not(:last-child):before{content:"";position:absolute;left:50%;transform:translateX(-50%);bottom:4px;width:2px;height:32px;background:var(--grad-sky-v)}.flow-step:not(:last-child):after{content:"▼";position:absolute;left:50%;transform:translateX(-50%);bottom:-6px;font-size:.7rem;line-height:1;color:var(--color-azure)}.flow-step .num{font-family:var(--font-latin-display);font-size:2.75rem;line-height:1;color:var(--color-cobalt);letter-spacing:.04em;text-align:center;margin-bottom:var(--space-sm)}.flow-step .ph{aspect-ratio:4/3;border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.flow-step h3{font-family:var(--font-serif);font-weight:300;font-size:1.125rem;letter-spacing:.04em;line-height:1.6;text-align:center}#plan{background:var(--color-neutral)}.plan-list{display:flex;flex-direction:column;gap:var(--space-md)}.plan-card{background:var(--color-white);border-radius:var(--radius-md);overflow:hidden}.plan-card .ph{aspect-ratio:16/9}.plan-card .plan-body{padding:var(--space-md) var(--space-sm);text-align:center}.plan-card .plan-icon{display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-xs)}.plan-card .plan-icon svg{width:32px;height:32px;stroke:var(--color-cobalt);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.plan-card h3{font-family:var(--font-serif);font-weight:300;font-size:1.0625rem;line-height:1.6;letter-spacing:.03em}.plan-card .plan-note{font-size:var(--text-micro);color:var(--color-ink-muted);line-height:1.7;margin-top:var(--space-xs)}#plan-detail{background:var(--color-white)}.price-card{background:var(--color-neutral);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm)}.price-line{text-align:center;font-family:var(--font-serif);font-weight:300;padding-bottom:var(--space-sm);margin-bottom:var(--space-sm);border-bottom:1px solid var(--color-line)}.price-line .num{font-family:var(--font-latin-display);font-size:2.75rem;color:var(--color-midnight);line-height:1.2}.price-line .unit{font-size:.9375rem;margin-left:.25em}.plan-includes{list-style:none}.plan-includes li{position:relative;padding-left:1.2em;font-size:.9375rem;line-height:1.9}.plan-includes li:before{content:"";position:absolute;left:.2em;top:.85em;width:6px;height:6px;border-radius:50%;background:var(--color-azure)}.option-head{font-size:var(--text-micro);letter-spacing:.12em;color:var(--color-cobalt);margin:var(--space-sm) 0 var(--space-xs);font-weight:700}.plan-options li:before{background:var(--color-lightblue)}.plan-options li .opt-price{color:var(--color-ink-muted);font-size:.8125rem;margin-left:.5em}#access-faq{background:var(--color-white)}.af-block+.af-block{margin-top:var(--space-section)}.af-block .eyebrow{display:block;font-family:var(--font-latin-display);font-size:var(--text-micro);letter-spacing:.28em;color:var(--color-cobalt);margin-bottom:var(--space-xs);text-transform:uppercase}.af-block h2{font-family:var(--font-serif);font-weight:300;font-size:var(--text-h2);letter-spacing:.05em;line-height:var(--line-height-heading);margin-bottom:var(--space-md)}.af-block h2:after{content:"";display:block;width:48px;height:2px;margin-top:var(--space-sm);background:var(--grad-sky)}.access-photo{aspect-ratio:4/3;border-radius:var(--radius-md);margin-bottom:var(--space-md)}.access-text{letter-spacing:.03em;line-height:1.7;margin-bottom:var(--space-xs)}.access-sub{font-size:var(--text-micro);color:var(--color-ink-muted);margin-bottom:var(--space-md)}.map-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;background:var(--color-white);border:1px solid var(--color-cobalt);color:var(--color-cobalt);font-size:.875rem;letter-spacing:.06em;border-radius:var(--radius-cta);transition:var(--motion-hover)}.map-btn svg{width:1.05em;height:1.05em}.faq-item{border-bottom:1px solid var(--color-line)}.faq-item:first-of-type{border-top:1px solid var(--color-line)}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:flex-start;gap:var(--space-xs);padding:var(--space-md) 0 var(--space-xs);font-family:var(--font-serif);font-weight:300;font-size:1rem;letter-spacing:.02em;line-height:1.6}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .q{font-family:var(--font-latin-display);color:var(--color-cobalt);flex:none;font-size:1.15em;line-height:1.5}.faq-answer{display:flex;gap:var(--space-xs);padding:0 0 var(--space-md);color:var(--color-ink-muted);line-height:var(--line-height-body);letter-spacing:.01em;font-size:.875rem}.faq-answer .a{font-family:var(--font-latin-display);color:var(--color-azure);flex:none;font-size:1.15em;line-height:1.6}.faq-more{display:inline-block;margin-top:var(--space-md);color:var(--color-cobalt);font-size:.875rem;letter-spacing:.06em}#closing{position:relative;background:var(--color-midnight);color:var(--color-white);text-align:center;padding-top:0;padding-bottom:var(--space-section)}.closing-photo{position:relative;width:100%;aspect-ratio:4/3}.closing-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(38,72,120,0) 30%,rgba(38,72,120,.75) 70%,#264878)}.closing-inner{position:relative;z-index:2;margin-top:-56px}.closing-eyebrow{display:block;font-family:var(--font-latin-display);font-size:var(--text-micro);letter-spacing:.3em;color:var(--color-lightblue);margin-bottom:var(--space-sm)}#closing h2{font-family:var(--font-serif);font-weight:300;font-size:var(--text-h2);line-height:var(--line-height-heading);letter-spacing:.05em;margin-bottom:var(--space-lg)}.site-footer{background:var(--color-midnight);color:rgba(255,255,255,.7);text-align:center;padding:var(--space-lg) var(--space-sm) calc(var(--space-lg) + var(--floatbar-space));font-size:var(--text-micro);letter-spacing:.06em;line-height:1.9;border-top:1px solid rgba(255,255,255,.18)}.site-footer .foot-logo{color:var(--color-white);font-size:.6875rem;letter-spacing:.08em;line-height:1.5;margin-bottom:var(--space-sm)}.site-footer .foot-copy{margin-top:var(--space-sm);letter-spacing:.08em}.site-footer .foot-logo-img{display:block;height:33px;width:auto;margin:0 auto}#contact{background:var(--color-neutral)}.contact-lead{text-align:center;font-size:var(--text-body);line-height:1.8;letter-spacing:.02em;margin-bottom:var(--space-lg)}.contact-form{gap:var(--space-sm);margin-bottom:var(--space-lg)}.contact-form,.form-row{display:flex;flex-direction:column}.form-row{gap:var(--space-xs)}.form-row label.form-label{display:flex;align-items:center;gap:var(--space-xs);font-size:.875rem;font-weight:500;letter-spacing:.04em;color:var(--color-ink)}.req-badge{display:inline-block;background:var(--color-cta);color:var(--color-midnight);border-radius:var(--radius-sm);font-size:var(--text-micro);line-height:1.6;letter-spacing:.04em;padding:1px 6px}.contact-form input[type=date],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=text],.contact-form textarea{width:100%;border:1px solid var(--color-line);background:var(--color-white);border-radius:var(--radius-sm);font-size:16px;font-family:var(--font-sans);color:var(--color-ink);line-height:1.6}.contact-form input[type=date],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=text]{height:48px;padding:0 12px}.contact-form textarea{padding:12px;resize:vertical}.contact-form ::-moz-placeholder{color:#b3aca6}.contact-form ::placeholder{color:#b3aca6}.form-note{font-size:var(--text-micro);color:var(--color-ink-muted);line-height:1.6;letter-spacing:.02em}.time-pills{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.time-pill{cursor:pointer}.time-pill input{position:absolute;opacity:0;width:0;height:0}.time-pill span{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:40px;padding:0 var(--space-sm);border:1px solid var(--color-line);background:var(--color-white);border-radius:var(--radius-cta);font-family:var(--font-latin-display);font-size:1rem;letter-spacing:.06em;color:var(--color-ink);transition:var(--motion-hover)}.time-pill input:checked+span{background:var(--color-midnight);border-color:var(--color-midnight);color:var(--color-white)}.contact-form .cta-btn{border:none;cursor:pointer;margin-top:var(--space-xs)}.contact-tel-box{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-sm);text-align:center}.contact-tel-box .tel-head{font-size:.875rem;font-weight:700;color:var(--color-midnight);letter-spacing:.04em;margin-bottom:var(--space-xs)}.contact-tel-box .tel-body{font-size:.875rem;line-height:1.7;letter-spacing:.02em}.contact-tel-box .tel-num{display:inline-block;font-family:var(--font-latin-display);font-size:1.375rem;letter-spacing:.06em;color:var(--color-midnight);margin-top:var(--space-xs)}.contact-tel-box .tel-hours{font-size:var(--text-micro);color:var(--color-ink-muted);letter-spacing:.03em}.float-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:100%;max-width:375px;z-index:90;background:var(--color-white);border-top:1px solid var(--color-line);padding:8px var(--space-sm) calc(8px + env(safe-area-inset-bottom,0px))}.float-bar .cta-btn{align-items:center;justify-content:center;text-align:center;min-height:56px;padding:8px var(--space-sm)}.nav-drawer{position:absolute;top:100%;left:0;width:100%;background:var(--color-white);border-bottom:0 solid var(--color-line);overflow:hidden;visibility:hidden;max-height:0;transition:max-height .25s ease}.nav-drawer[data-open=true]{visibility:visible;max-height:340px;border-bottom-width:1px}.nav-drawer ul{list-style:none}.nav-drawer li+li{border-top:1px solid var(--color-line)}.nav-drawer a{display:block;padding:14px var(--space-sm);font-size:.875rem;letter-spacing:.06em;color:var(--color-ink)}.form-error{margin-top:var(--space-xs);color:#c0392b;font-size:.8125rem;line-height:1.7;letter-spacing:.02em}.thanks-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--color-neutral);padding:var(--space-section) var(--space-sm)}.thanks-wrap h1{font-family:var(--font-serif);font-weight:300;font-size:var(--text-h2);line-height:var(--line-height-heading);letter-spacing:.04em;margin-bottom:var(--space-md)}.thanks-wrap p{line-height:var(--line-height-body);letter-spacing:.02em;margin-bottom:var(--space-sm)}.thanks-wrap .tel-num{display:inline-block;font-family:var(--font-latin-display);font-size:1.375rem;letter-spacing:.06em;color:var(--color-midnight)}.thanks-wrap .thanks-back{margin-top:var(--space-md);color:var(--color-cobalt);font-size:.875rem;letter-spacing:.06em}