/* Shared guardrails for the centered, lower-density public product shell. */
.public-shell{background:var(--color-surface)}.public-shell .overline{color:var(--color-muted);font-size:var(--text-sm);font-weight:600;letter-spacing:.04em}.public-shell :where(.public-hero,.public-home-hero,.public-section,.public-pricing){min-width:0}.public-brand{flex:0 0 auto}.public-brand-logo{display:block;width:auto;height:2rem}.public-nav{position:relative}.public-mobile-menu{display:none}.public-header .public-nav{gap:var(--space-4)}.public-header .public-nav>nav{gap:var(--space-1)}.public-header .public-nav>nav a.is-active{background:transparent;box-shadow:inset 0 -2px 0 var(--color-primary)}.public-footer{margin-top:var(--space-8)}.public-footer>.public-container{min-height:0;padding-block:var(--space-5)}.public-footer-brand{display:grid;gap:var(--space-2);min-width:0}.public-footer-brand .brand{justify-self:start}.public-footer-brand p,.public-footer-brand small{color:var(--color-muted)}.public-footer nav{flex-wrap:wrap;justify-content:flex-end}

/* Shared public-page composition. Feature pages extend these contracts rather than replacing them. */
.public-hero{gap:var(--space-3);padding-block:var(--space-10) var(--space-8)}.public-hero>p:not(.overline){font-size:var(--text-lg)}.public-hero .form-actions{margin-top:var(--space-2)}.public-home-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(20rem,.92fr);align-items:center;gap:var(--space-10);padding-block:var(--space-12) var(--space-10)}.public-home-hero-copy{display:grid;align-content:center;gap:var(--space-4);min-width:0}.public-home-hero h1{max-width:46rem;font-size:clamp(var(--text-page),4.5vw,3rem);letter-spacing:-.035em}.public-lead{max-width:42rem;color:var(--color-muted);font-size:var(--text-lg)}.public-home-hero .form-actions{margin-top:var(--space-1)}.public-hero-assurance{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-sm)}
.public-product-preview{display:grid;gap:var(--space-4);min-width:0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.public-product-preview h2{font-size:var(--text-xl)}.public-preview-intro{color:var(--color-muted)}.public-preview-list{display:grid;margin:0;padding:0;list-style:none}.public-preview-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-4) 0;border-bottom:1px solid var(--color-border)}.public-preview-list li:last-child{border-bottom:0}.public-preview-list li>span:nth-child(2){display:grid;min-width:0;gap:var(--space-1)}.public-preview-list small{color:var(--color-muted)}.public-preview-icon{display:grid;width:var(--control);height:var(--control);place-items:center;border-radius:var(--radius-md);background:var(--color-primary-subtle);color:var(--color-primary)}.public-preview-icon--attention{background:var(--color-warning-subtle);color:var(--color-warning)}.public-preview-icon--complete{background:var(--color-success-subtle);color:var(--color-success)}.public-preview-note{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--color-muted);font-size:var(--text-sm)}.public-preview-note .ui-icon{flex:0 0 auto;margin-top:var(--space-1)}
.public-section{gap:var(--space-5);padding-block:var(--space-8)}.public-section-heading{gap:var(--space-2)}.public-section-heading>p:not(.overline){max-width:42rem}.public-section-heading>.button{justify-self:start}.public-feature-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:var(--space-3);min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color var(--motion-fast)}.public-feature-card:hover{border-color:var(--color-border-strong)}.public-feature-card>div{display:grid;min-width:0;gap:var(--space-2)}.public-feature-card p{color:var(--color-muted)}.public-feature-card>a{grid-column:2;justify-self:start;font-weight:600}.public-feature-icon{display:grid;width:var(--control-touch);height:var(--control-touch);flex:0 0 auto;place-items:center;border-radius:var(--radius-md);background:var(--color-primary-subtle);color:var(--color-primary)}
.public-journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5);margin:0;padding:0;list-style:none}.public-journey li{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:var(--space-3);min-width:0;padding-top:var(--space-4);border-top:2px solid var(--color-border)}.public-journey li:first-child{border-color:var(--color-primary)}.public-journey li>div{display:grid;min-width:0;gap:var(--space-2)}.public-journey p{color:var(--color-muted)}.public-journey-marker{display:grid;width:var(--control-sm);height:var(--control-sm);place-items:center;border-radius:50%;background:var(--color-primary-subtle);color:var(--color-primary);font-size:var(--text-sm);font-weight:600}
.public-maldives-section{padding:var(--space-8);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}.public-maldives-intro{display:flex;align-items:flex-start;gap:var(--space-4);max-width:52rem}.public-maldives-intro>div{display:grid;gap:var(--space-2);min-width:0}.public-maldives-intro p:not(.overline){color:var(--color-muted)}.public-benefit-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);margin:0;padding:0;list-style:none}.public-benefit-list li{display:grid;gap:var(--space-2);min-width:0;padding-left:var(--space-4);border-left:2px solid var(--color-border)}.public-benefit-list span{color:var(--color-muted)}.public-independent-note{display:flex;align-items:flex-start;gap:var(--space-2);max-width:58rem;padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-sm)}.public-independent-note img{flex:0 0 auto;margin-top:var(--space-1)}.public-independent-note strong{color:var(--color-text)}
.public-cta-section{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-top:var(--space-4);padding:var(--space-8);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}.public-cta-actions{display:grid;justify-items:start;gap:var(--space-3)}.public-cta-actions>a:not(.button){font-size:var(--text-sm)}

/* Contact and FAQ use the shared public rhythm without introducing a page-specific stylesheet. */
.public-contact-hero{padding-bottom:var(--space-6)}.public-hero>p.public-contact-location{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text);font-size:var(--text-base);font-weight:500}.public-contact-location .ui-icon{flex:0 0 auto;color:var(--color-primary)}
.public-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--card-gap)}.public-contact-card{display:grid;grid-template-columns:auto minmax(0,1fr);align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.public-contact-card>div{display:grid;min-width:0;gap:var(--space-2)}.public-contact-card h3{font-size:var(--text-lg)}.public-contact-card h3 a{overflow-wrap:anywhere}.public-contact-card p:not(.overline){color:var(--color-muted)}.public-contact-card>.button{grid-column:2;justify-self:start}.public-contact-client{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-6);padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}.public-contact-client>div:first-child{display:grid;max-width:46rem;gap:var(--space-2)}.public-contact-client>div:first-child p:not(.overline){color:var(--color-muted)}.public-contact-client-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.public-contact-security{display:flex;align-items:flex-start;gap:var(--space-3);max-width:58rem;padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:var(--text-sm)}.public-contact-security .ui-icon{flex:0 0 auto;margin-top:var(--space-1);color:var(--color-primary)}.public-contact-security strong{color:var(--color-text)}.public-contact-disclosure{grid-template-columns:auto minmax(0,1fr);align-items:start;max-width:58rem;padding:var(--space-6);border-radius:var(--radius-lg);background:var(--color-surface-subtle)}.public-contact-disclosure>div{display:grid;gap:var(--space-2)}.public-contact-disclosure>div>p:not(.overline){color:var(--color-muted)}
.public-faq{max-width:58rem}.public-faq-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4)}.public-faq-controls{display:none;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.js .public-faq-controls{display:flex}.public-faq-topics{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.public-faq-topics a{display:inline-flex;min-height:var(--control-touch);align-items:center;padding:0 var(--space-3);border-radius:var(--radius-sm);color:var(--color-muted);font-size:var(--text-sm);font-weight:500}.public-faq-topics a:hover,.public-faq-topics a:focus-visible{background:var(--color-surface-subtle);color:var(--color-text);text-decoration:none}.public-faq-group{display:grid;gap:var(--space-3);scroll-margin-top:calc(var(--topbar-height) + var(--space-4))}.public-faq-list{border-top:1px solid var(--color-border)}.public-faq-item{border-bottom:1px solid var(--color-border)}.public-faq-item summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3);min-height:var(--control-touch);padding:var(--space-4) 0;font-weight:600;cursor:pointer;list-style:none}.public-faq-item summary::-webkit-details-marker{display:none}.public-faq-item summary .ui-icon{color:var(--color-muted);transition:transform var(--motion-fast)}.public-faq-item[open] summary .ui-icon{transform:rotate(180deg)}.public-faq-answer{display:grid;max-width:52rem;gap:var(--space-3);padding:0 var(--space-8) var(--space-4) 0;color:var(--color-muted)}.public-faq-answer a{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:500}

/* Public task rhythm: concise hero, compact selector, then the primary task. */
.public-pricing-hero{gap:var(--space-2);padding-block:var(--space-8) var(--space-5)}.public-pricing-hero h1{max-width:52rem;margin-inline:auto}.public-pricing-hero>p:not(.overline){font-size:var(--text-body)}.public-pricing-hero>.pricing-assurance{margin-top:var(--space-1);font-size:var(--text-sm)}.public-pricing{gap:var(--space-6)}

.service-choice{align-items:stretch;gap:var(--space-3)}.service-choice-card{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:var(--space-3);row-gap:var(--space-1);min-height:0;padding:var(--space-4);background:var(--color-surface)}.service-choice-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.service-choice-card.is-active{border-color:var(--color-primary);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-primary)}.service-choice-icon{grid-row:1 / span 2;width:var(--control);height:var(--control);align-self:center;background:var(--color-surface-subtle);color:var(--color-primary)}.service-choice-card.is-active .service-choice-icon{background:var(--color-primary-subtle)}.service-choice-card>strong,.service-choice-card>span:last-child{grid-column:2;min-width:0}.service-choice-card>span:last-child{line-height:1.4}

.public-pricing-layout{grid-template-columns:minmax(0,2fr) minmax(20rem,1fr);gap:var(--space-6)}.pricing-configurator{min-width:0}.pricing-flow .panel-header{padding-block:var(--space-4)}.pricing-flow .panel-body,.pricing-flow form{gap:var(--space-5)}.pricing-flow input:not([type=checkbox]),.pricing-flow select{min-height:var(--control-touch);border-color:var(--color-border-strong);background:var(--color-surface)}.pricing-flow input:not([type=checkbox]):focus,.pricing-flow select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:0}.pricing-form-grid{align-items:start}.pricing-form-grid>.field{align-content:start}.pricing-options{gap:var(--space-3)}.pricing-options legend{margin-bottom:0;font-size:var(--text-base)}

.pricing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.pricing-steps li{justify-content:flex-start;gap:var(--space-2);min-height:var(--control);padding:0 var(--space-2);border:0;color:var(--color-faint)}.pricing-steps li.is-complete{color:var(--color-success)}.pricing-steps li.is-current{border:0;color:var(--color-primary)}.pricing-step-marker{display:grid;width:var(--control-sm);height:var(--control-sm);flex:0 0 auto;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);font-size:var(--text-xs);font-weight:600}.pricing-steps li.is-complete .pricing-step-marker{border-color:var(--color-success);background:var(--color-success-subtle)}.pricing-steps li.is-current .pricing-step-marker{border-color:var(--color-primary);background:var(--color-primary-subtle)}

/* Reusable public selectable row. The middle column always owns remaining width. */
.public-option-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:var(--space-3);width:100%;min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--motion-fast),background var(--motion-fast)}.public-option-row:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.public-option-row:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.public-option-control{width:1rem;height:1rem;min-height:1rem;margin:var(--space-1) 0 0}.public-option-copy{display:grid;min-width:0;gap:var(--space-1);overflow-wrap:break-word}.public-option-copy>strong{line-height:1.4}.public-option-copy>small{line-height:1.45}.public-option-state{justify-self:end;white-space:nowrap}
[data-quota-field][hidden]{display:none}

.public-price-summary{top:calc(var(--topbar-height) + var(--space-4));min-width:0}.public-price-summary .panel-header{padding-block:var(--space-4)}.public-price-summary .panel-body{gap:var(--space-4)}.public-price-summary[data-state=incomplete],.public-price-summary[data-state=unavailable]{border-color:var(--color-border)}.public-price-summary[data-state=ready]{border-color:var(--color-primary)}.public-price-summary[data-state=error]{border-color:var(--color-warning)}.pricing-placeholder{gap:var(--space-2);padding:var(--space-6) var(--space-3)}.pricing-placeholder>p{max-width:18rem}.pricing-placeholder-icon{display:grid;width:var(--control-touch);height:var(--control-touch);place-items:center;border-radius:50%;background:var(--color-surface-subtle);color:var(--color-primary);font-size:var(--text-lg)}.pricing-loading{display:flex;align-items:center;gap:var(--space-2);color:var(--color-muted)}.pricing-spinner{width:1rem;height:1rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:public-spin var(--motion) linear infinite}.public-price-group{gap:var(--space-2);padding-bottom:var(--space-3)}.public-price-group-heading h3{font-size:var(--text-sm)}.public-price-lines li{min-width:0}.public-price-line-copy{min-width:0}.public-price-line-copy>strong{overflow-wrap:break-word}.public-line-amount{flex:0 0 auto;white-space:nowrap}.public-price-grand-total{margin-top:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.public-price-grand-total>span{font-weight:600}.public-price-grand-total strong{font-size:var(--text-page)}.public-quoted-count{color:var(--color-warning);font-size:var(--text-sm);font-weight:600}.pricing-conversion{gap:var(--space-2)}.pricing-conversion>.button{width:100%}.pricing-conversion>.help-text{font-size:var(--text-xs)}.public-estimate-note{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0;border-top:1px solid var(--color-border);color:var(--color-muted)}.public-estimate-note strong{flex:0 0 auto;color:var(--color-text)}.public-estimate-note p{max-width:54rem}

@keyframes public-spin{to{transform:rotate(360deg)}}

@media(max-width:1023px){.public-actions{margin-left:auto}.public-actions .button-quiet{display:inline-flex}.public-actions .button-primary{display:none}.public-mobile-menu{display:block;margin-left:0}.public-mobile-menu>summary{list-style:none}.public-mobile-menu>summary::-webkit-details-marker{display:none}.public-mobile-menu[open]>nav{position:absolute;top:calc(100% - var(--space-1));right:0;display:grid;width:min(18rem,calc(100vw - (var(--page-padding) * 2)));gap:var(--space-1);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-overlay)}.public-mobile-menu[open]>nav a{min-height:var(--control-touch)}.public-home-hero{grid-template-columns:1fr;gap:var(--space-8)}.public-home-hero-copy{max-width:46rem}.public-product-preview{max-width:46rem}.public-journey{grid-template-columns:repeat(2,minmax(0,1fr))}.public-pricing-layout{grid-template-columns:1fr}.public-price-summary{position:static}}
@media(max-width:767px){.public-hero{padding-block:var(--space-8) var(--space-6)}.public-home-hero{gap:var(--space-6);padding-block:var(--space-8) var(--space-6)}.public-home-hero h1{font-size:var(--text-page)}.public-home-hero .form-actions{display:grid;grid-template-columns:1fr}.public-home-hero .form-actions .button{width:100%}.public-product-preview{padding:var(--space-5)}.public-section{padding-block:var(--space-6)}.public-feature-card{padding:var(--space-4)}.public-journey{grid-template-columns:1fr;gap:var(--space-4)}.public-maldives-section{padding:var(--space-6)}.public-maldives-intro{display:grid}.public-benefit-list{grid-template-columns:1fr;gap:var(--space-4)}.public-cta-section{grid-template-columns:1fr;margin-top:var(--space-2);padding:var(--space-6)}.public-contact-grid{grid-template-columns:1fr}.public-contact-card{padding:var(--space-5)}.public-contact-client{grid-template-columns:1fr;padding:var(--space-5)}.public-contact-client-actions{align-items:stretch;flex-direction:column}.public-contact-client-actions .button{width:100%}.public-contact-disclosure{grid-template-columns:1fr;padding:var(--space-5)}.public-faq-heading-row{display:grid}.public-faq-controls{justify-content:flex-start}.public-faq-topics{gap:var(--space-1);padding:var(--space-1)}.public-faq-answer{padding-right:0}.public-footer>.public-container{gap:var(--space-4);padding-block:var(--space-4)}.public-footer nav{justify-content:flex-start;gap:var(--space-3)}.public-pricing-hero{padding-block:var(--space-6) var(--space-4)}.service-choice{grid-template-columns:1fr}.service-choice-card{padding:var(--space-3)}.pricing-form-grid{grid-template-columns:1fr}.pricing-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1)}.pricing-steps li{min-height:var(--control-touch);flex-direction:column;justify-content:center;gap:var(--space-1);padding:var(--space-1);text-align:center}.pricing-steps li span{display:inline}.pricing-steps li>span:last-child{font-size:var(--text-xs);line-height:1.2}.public-estimate-note{display:grid;gap:var(--space-2)}}
@media(max-width:429px){.public-actions .button-quiet{padding-inline:var(--space-2)}.public-preview-list li{grid-template-columns:auto minmax(0,1fr)}.public-preview-list .status{grid-column:2;justify-self:start}.public-option-row{grid-template-columns:auto minmax(0,1fr);padding:var(--space-3)}.public-option-state{grid-column:2;justify-self:start}.public-price-lines li{display:grid;gap:var(--space-2)}.public-line-amount{text-align:left}.public-price-group-heading{align-items:flex-start}.public-price-grand-total{align-items:flex-end}.public-price-grand-total strong{text-align:right}}
