/* Mobile uses the same content, with touch disclosures and an unobstructed page. */
.mobile-section-toggle{display:none}
.folio-mobile-pager{display:none}
@media(max-width:900px){
  .consult-studio{display:block}
  .consult-choices{display:block;overflow:visible;padding:0;border-top:1px solid #cdd3c5}
  .consult-stage{display:none}
  .consult-choice{min-height:88px;border:0;border-bottom:1px solid #cdd3c5;padding:18px 8px!important;grid-template-columns:42px minmax(0,1fr) 22px;gap:12px}
  .consult-choice>span:nth-child(2){font-size:17px;line-height:1.55}
  .choice-object img{width:40px;height:40px}
  .consult-choice[aria-expanded=true]{background:#edf5db;border-bottom-color:transparent}
  .consult-choice[aria-expanded=true] .choice-arrow{transform:rotate(45deg);opacity:1}
  .consult-choice:hover .choice-object{transform:none}
  .consult-panel{min-height:0;height:auto;padding:8px 20px 28px;background:#edf5db;border-bottom:1px solid #cdd3c5}
  .consult-panel:not([hidden]){animation:mobileAnswerIn .25s ease-out}
  .consult-panel .answer-orbit{display:none}
  .answer-copy{padding:0}
  .answer-copy h3{font-size:25px;margin:8px 0 16px;line-height:1.35}
  .answer-copy p{font-size:15px;line-height:1.85;color:#505747}
  .answer-route{gap:10px 12px;padding-top:16px;margin-top:20px}
  .answer-route li{font-size:11px}
  .answer-route li+li:before{margin-right:12px}
}
@media(max-width:760px){
  :root{--page:calc(100vw - 40px)}
  html:has(.codead-hero){scroll-snap-type:none}
  .section-pad{padding:88px 22px calc(104px + env(safe-area-inset-bottom))}
  main>.section-pad,main>.hero,main>.folio-scroll{min-height:100svh}
  .display-heading{font-size:clamp(32px,9.4vw,46px);line-height:1.18;letter-spacing:-.065em}
  .intro-grid{gap:28px}
  .intro-copy{font-size:15px;line-height:1.85}
  .intro-copy p{margin-bottom:14px}
  .intro,.process{justify-content:center}
  .menu-toggle{height:44px;width:44px;align-content:center}
  .primary-nav{max-height:calc(100svh - 66px);overflow:auto}
  .principle-list,.process-list{grid-template-columns:1fr;margin-top:36px}
  .principle-list .principle-card,.process-list>li,.process-list>li:not(:first-child),.process-step{height:auto;min-height:0;padding:0;border-right:0;border-bottom:1px solid var(--line)}
  .principle-trigger,.process-trigger{position:relative;inset:auto;display:flex;align-items:center;min-height:110px;height:auto;padding:22px 30px 22px 92px}
  .principle-trigger:after,.process-trigger:after{content:'+';position:absolute;right:10px;font-size:24px;font-weight:400;color:#69715f;transition:transform .25s}
  .principle-trigger[aria-expanded=true]:after,.process-trigger[aria-expanded=true]:after{transform:rotate(45deg)}
  .principle-list .principle-icon,.principle-list .is-open .principle-icon,.process-list .process-icon,.process-list .is-open .process-icon{left:0;top:18px;transform:scale(.5);width:144px;height:144px}
  .principle-list .principle-title,.principle-list .is-open .principle-title,.process-list .process-title,.process-list .is-open .process-title{position:static;transform:none;max-width:100%;width:auto;margin:0;font-size:20px;line-height:1.4}
  .principle-list .principle-description,.process-list .process-description{display:none;position:static;transform:none;margin:0;padding:0 12px 26px;font-size:15px;line-height:1.85;transition:none}
  .principle-list .is-open .principle-description,.process-list .is-open .process-description{display:block;opacity:1;visibility:visible}
  .process-intro{font-size:15px;margin-top:24px}
  .consult-header{gap:24px;margin-bottom:32px}
  .consult-logo{width:180px;margin:0}
  .consult-choice>span:nth-child(2){font-size:16px}
  .quote{gap:36px}
  .quote-copy>p{font-size:15px;margin-top:24px}
  .contact-direct{margin-top:30px}
  .quote-form{padding:28px 18px;min-width:0}
  .quote-form fieldset{min-width:0;margin-bottom:28px}
  .quote-form input:not([type=checkbox]):not([type=radio]),.quote-form textarea{font-size:16px;min-width:0;width:100%}
  .quote-form legend{font-size:16px}
  .choice-grid{gap:8px}
  .choice-grid label span{font-size:12px;min-height:50px;padding:8px 4px}
  .privacy-check{align-items:flex-start;font-size:12px;line-height:1.6}
  .privacy-check input{width:20px;height:20px;flex:none}
  .button-submit{min-height:54px;font-size:16px}
  .footer{padding:70px 22px calc(110px + env(safe-area-inset-bottom));min-height:100svh;display:flex;flex-direction:column;justify-content:center}
  .footer-top{gap:15px;padding-bottom:48px}
  .footer-top p{font-size:clamp(30px,9vw,42px);line-height:1.15}
  .back-top{flex:none;width:52px;height:52px}
  .footer address{gap:12px;line-height:1.8}
  .footer address span{max-width:100%;overflow-wrap:anywhere}
  .section-nav{display:none;top:auto;bottom:calc(82px + env(safe-area-inset-bottom));left:14px;right:auto;transform:none;width:210px;padding:8px;border-radius:20px;background:#fffffff7}
  .section-nav.is-mobile-open{display:flex;align-items:stretch}
  .section-nav>button{display:none}
  .section-nav>a{display:flex;justify-content:space-between;width:100%;height:48px;padding:0 16px;border-radius:12px}
  .section-nav a[aria-current]{background:#edf5db}
  .section-nav .section-nav-label{display:block;position:static;opacity:1;transform:none;padding:0;background:none;color:var(--ink);font-size:14px}
  .section-nav a[aria-current] .section-nav-dot{box-shadow:none;background:#729900}
  .mobile-section-toggle{position:fixed;z-index:46;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;height:54px;padding:0 18px;border:1px solid #d7dacf;border-radius:16px;background:#fffffff2;color:var(--ink);backdrop-filter:blur(12px);box-shadow:0 5px 22px #14200c16;font-size:14px;font-weight:700}
  .mobile-section-toggle span{font-size:20px;transition:transform .25s}
  .mobile-section-toggle[aria-expanded=true] span{transform:rotate(45deg)}
  .quote-float{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));min-height:54px;height:54px;padding:5px 12px 5px 7px;gap:3px;border-radius:16px}
  .quote-float-copy strong{font-size:17px}
  .quote-gift{width:40px;height:44px;transform:scale(.75)}
  body.folio-modal-open .mobile-section-toggle{visibility:hidden}
  body:has(.quote-form input:focus,.quote-form textarea:focus) :is(.mobile-section-toggle,.section-nav,.quote-float){visibility:hidden}
  .codead-hero .film-controls{bottom:calc(88px + env(safe-area-inset-bottom));left:18px}
  .folio .folio-dock{left:14px;right:14px;width:auto;bottom:calc(124px + env(safe-area-inset-bottom))}
  .folio-arrow{width:44px;height:44px}
  .folio .folio-view-switch{display:none}
  .folio .folio-caption{display:none}
  .folio .folio-toolbar{max-width:calc(100% - 28px);gap:6px;padding:8px;top:22px;white-space:nowrap}
  .folio-toolbar>b{font-size:15px}
  .folio-toolbar>button{min-height:44px}
  .folio .folio-hero-media>img{object-fit:contain;animation:none}
  .folio .folio-grid{display:flex;align-items:center;padding:110px 14px 210px;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:14px;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y;scrollbar-width:none}
  .folio .folio-grid[hidden]{display:none}
  .folio .folio-grid-card{flex:0 0 calc(100% - 18px);min-width:0;align-self:center;scroll-snap-align:start;scroll-snap-stop:always;border-radius:20px;transform:none}
  .folio .folio-grid-card .site-art{aspect-ratio:auto;height:min(62vw,calc(100svh - 440px));min-height:120px;background:#f3f3ed}
  .folio .grid-card-caption{padding:24px 20px;min-height:90px;align-items:flex-start;flex-direction:column;gap:8px}
  .folio .grid-card-caption b{font-size:22px}
  .folio .grid-card-caption small{font-size:12px}
  .folio .folio-stage{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y}
  .folio .folio-scene{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:start}
  .folio.grid-mode .folio-mobile-pager{position:absolute;z-index:8;bottom:calc(110px + env(safe-area-inset-bottom));left:24px;right:24px;display:grid;gap:12px;color:#fff;text-align:center;pointer-events:none}
  .folio-mobile-pager>div{display:flex;align-items:center;justify-content:center;gap:26px}
  .folio-mobile-pager button{width:48px;height:48px;border:1px solid #ffffff50;border-radius:50%;background:#ffffff12;color:#fff;font-size:21px;pointer-events:auto;cursor:pointer}
  .folio-mobile-count{min-width:55px;font-size:14px;font-variant-numeric:tabular-nums}
  .folio-swipe-hint{font-size:12px;color:#b8bdb6}
  .folio .folio-grid::-webkit-scrollbar{display:none}
  .folio-dialog{max-height:calc(100svh - 24px);overflow:auto}
  .folio-dialog-copy{padding:22px}
}
@keyframes mobileAnswerIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.consult-panel:not([hidden]){animation:none}.mobile-section-toggle span{transition:none}}
