/* IDA STUDIO V25 — Premium guided experience. Navy identity remains visually intact. */
.ida-configurator{position:relative;isolation:isolate;padding:clamp(21px,3vw,38px);overflow:hidden;border-radius:23px}
.ida-configurator::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 95% -10%,rgba(var(--accent-rgb),.11),transparent 60%);opacity:.9}
.ida-configurator>*{position:relative;z-index:1}
.ida-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:26px}
.ida-config-overline{font-size:9px;letter-spacing:.24em;font-weight:600;color:var(--accent2)}
.ida-config-head h3{font-size:clamp(25px,3vw,39px);font-weight:400;letter-spacing:-.05em;line-height:1.13;margin:16px 0 0}
.ida-config-head h3 em{font-style:normal;color:var(--accent2)}
.ida-config-seal{border:1px solid var(--strong-line);border-radius:50%;width:42px;height:42px;display:grid;place-items:center;flex:none;font-size:25px;font-weight:200;color:var(--accent);box-shadow:0 0 22px rgba(var(--accent-rgb),.12)}
.ida-config-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:34px;max-width:100%;overflow:hidden}
.ida-config-progress span{position:relative;padding:14px 2px 12px;border-top:1px solid var(--line);white-space:nowrap;font:400 clamp(8px,.8vw,10px)/1.45 "Avenir Next","Helvetica Neue",sans-serif;letter-spacing:.06em;color:var(--soft);transition:color .25s}
.ida-config-progress span::before{content:"";display:block;position:absolute;top:-1px;left:0;width:0;height:2px;background:var(--accent2);box-shadow:0 0 10px rgba(var(--accent-rgb),.3);transition:width .3s}
.ida-config-progress span.is-on{color:var(--text)}.ida-config-progress span.is-on::before,.ida-config-progress span.is-done::before{width:100%}.ida-config-progress span.is-done{color:var(--accent2)}
.ida-config-step{border:0;padding:0;margin:0;min-width:0}.ida-config-step[hidden],.ida-config-footer [hidden]{display:none!important}
.ida-config-step legend{font-size:clamp(24px,2.7vw,34px);letter-spacing:-.047em;font-weight:450;color:var(--text);padding:0;line-height:1.2}
.ida-field-hint{font-size:12px;line-height:1.75;color:var(--muted);margin:11px 0 25px}
.ida-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:10px}
.ida-choice{position:relative;display:flex!important;flex-direction:column;gap:5px!important;min-height:126px;padding:17px 16px 15px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(150deg,rgba(var(--accent-rgb),.028),transparent);cursor:pointer;margin:0!important;transition:border-color .25s,transform .25s,background .25s,box-shadow .25s}
.ida-choice:hover{transform:translateY(-2px);border-color:var(--strong-line);box-shadow:0 12px 30px rgba(var(--accent-rgb),.055)}
.ida-choice:has(input:checked){border-color:var(--accent2);background:rgba(var(--accent-rgb),.095);box-shadow:inset 0 0 28px rgba(var(--accent-rgb),.05),0 0 0 1px rgba(var(--accent-rgb),.11)}
.ida-choice:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.ida-choice input{position:absolute;right:14px;top:14px;width:16px!important;height:16px!important;min-height:16px!important;accent-color:var(--accent);margin:0;opacity:.7}
.ida-choice-glyph{display:inline-grid;place-items:center;width:25px;height:29px;font-size:24px;color:var(--accent2);font-weight:200;margin-bottom:2px}
.ida-choice strong{display:block;font-size:14px;line-height:1.25;color:var(--text);font-weight:500}
.ida-choice small{font-size:11px;color:var(--muted);line-height:1.45}
.ida-goals .ida-choice{min-height:98px}
.ida-form-subhead{font-size:13px;color:var(--text);margin:26px 0 13px;font-weight:500}
.ida-form-subhead small,.ida-optional{font-size:10px;font-weight:400;color:var(--muted)}
.ida-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}
.ida-feature-grid label{display:flex!important;align-items:center;gap:10px!important;padding:13px 12px;border:1px solid var(--line);border-radius:10px;margin:0!important;background:rgba(var(--accent-rgb),.025);cursor:pointer;font-size:11px}
.ida-feature-grid label:has(input:checked){border-color:var(--accent2);background:rgba(var(--accent-rgb),.085);color:var(--text)}
.ida-feature-grid input{width:16px!important;height:16px!important;min-height:16px!important;accent-color:var(--accent);flex:none;margin:0}
.ida-configurator .form-row{gap:11px}.ida-configurator select{appearance:auto}
.ida-price-note{font-size:11px;color:var(--soft);line-height:1.7;border-top:1px solid var(--line);padding-top:16px}
.ida-summary{margin:3px 0 24px;background:linear-gradient(130deg,rgba(var(--accent-rgb),.09),rgba(var(--accent-rgb),.02));border:1px solid var(--strong-line);border-radius:15px;padding:20px}
.ida-summary h4{margin:0 0 13px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent2)}
.ida-summary-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}
.ida-summary-row:last-child{border:0}.ida-summary-row span{color:var(--muted)}.ida-summary-row strong{font-weight:500;text-align:right;max-width:60%;overflow-wrap:anywhere}
.ida-config-footer{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:25px}
.ida-config-footer .btn{margin-left:auto;min-height:43px;padding:11px 18px}
.ida-config-footer #ida-config-counter{font-size:10px;color:var(--soft);white-space:nowrap}
.ida-back{font-size:12px;background:transparent;border:0;color:var(--muted);padding:12px 8px;cursor:pointer}.ida-back:hover{color:var(--text)}
.ida-configurator :focus-visible{outline:2px solid var(--accent2);outline-offset:3px}
.ida-configurator .form-note{margin-top:18px;font-size:10.5px}
/* A real onsite concierge with no remote inference or customer-data processing. */
.ida-guide-launch{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));z-index:155;display:flex;align-items:center;gap:10px;padding:13px 17px;border:1px solid var(--strong-line);border-radius:50px;background:var(--panel);color:var(--text);font:500 11px/1.3 "Avenir Next","Helvetica Neue",sans-serif;letter-spacing:.055em;box-shadow:0 16px 45px rgba(0,0,0,.2);backdrop-filter:blur(20px);cursor:pointer;transition:transform .25s,box-shadow .25s}
.ida-guide-launch:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(0,0,0,.25)}.ida-guide-launch::before{content:"✧";font-size:18px;color:var(--accent2)}
.ida-guide-panel{position:fixed;z-index:156;bottom:calc(80px + env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right));width:min(390px,calc(100vw - 36px));max-height:min(550px,72vh);overflow:auto;border:1px solid var(--strong-line);background:var(--panel);color:var(--text);border-radius:21px;padding:22px;box-shadow:0 27px 90px rgba(0,0,0,.27);backdrop-filter:blur(24px)}
.ida-guide-panel[hidden]{display:none}
.ida-guide-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.ida-guide-panel h2{font-size:26px;font-weight:400;letter-spacing:-.045em;margin:5px 0 10px}.ida-guide-panel p{font-size:12px;color:var(--muted);line-height:1.8}
.ida-guide-panel .ida-guide-eyebrow{font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--accent2);margin:0}
.ida-guide-close{border:1px solid var(--line);background:transparent;border-radius:50%;color:var(--text);width:29px;height:29px;flex:none;cursor:pointer}
.ida-guide-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0}
.ida-guide-options button{padding:13px 11px;border:1px solid var(--line);border-radius:10px;text-align:left;background:rgba(var(--accent-rgb),.045);color:var(--text);font-size:11px;cursor:pointer;transition:border-color .2s,transform .2s}
.ida-guide-options button:hover{border-color:var(--accent2);transform:translateY(-1px)}
.ida-guide-panel .ida-guide-output{margin:0;background:rgba(var(--accent-rgb),.075);border:1px solid var(--line);border-radius:11px;padding:15px;color:var(--text);min-height:78px}
.ida-guide-fineprint{font-size:10px!important;color:var(--soft)!important;margin:15px 0 0}
/* Micro-animation shared between pages: movement only where it conveys affordance. */
.desktop-nav a,.mobile-nav a{isolation:isolate}
.ida-v25-nav-stars{position:absolute;inset:5px 0;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .35s}
.desktop-nav a:hover .ida-v25-nav-stars,.desktop-nav a:focus-visible .ida-v25-nav-stars,.mobile-nav a:hover .ida-v25-nav-stars,.mobile-nav a:focus-visible .ida-v25-nav-stars{opacity:.8}
.ida-v25-nav-stars i{position:absolute;display:block;width:2px;height:2px;border-radius:50%;background:var(--accent2);box-shadow:0 0 6px var(--accent);animation:ida-v25-star-drift 5.7s linear infinite}
.ida-v25-nav-stars i:nth-child(1){top:18%;left:12%;animation-delay:-1.2s}
.ida-v25-nav-stars i:nth-child(2){top:65%;left:55%;animation-delay:-3s}
.ida-v25-nav-stars i:nth-child(3){top:30%;left:86%;animation-delay:-4.3s}
.ida-v25-click-spark{position:fixed;z-index:400;pointer-events:none;width:4px;height:4px;border-radius:50%;background:var(--accent2);box-shadow:0 0 12px var(--accent);animation:ida-v25-spark .48s ease-out forwards;transform:translate(-50%,-50%)}
[data-v25-icon-kind="arrow"]{transition:transform .35s ease}
a:hover [data-v25-icon-kind="arrow"],button:hover [data-v25-icon-kind="arrow"]{transform:translate(2px,-2px)}
[data-v25-icon-kind="star"]{animation:ida-v25-star-breathe 7s ease-in-out infinite}
[data-v25-icon-kind="sun"]{transition:transform .75s ease}
.theme-toggle:hover [data-v25-icon-kind="sun"]{transform:rotate(38deg)}
[data-v25-icon-kind="cross"]{transition:transform .3s ease}
button:hover [data-v25-icon-kind="cross"]{transform:rotate(90deg)}
.penrose-mark svg{transition:filter .5s,transform .7s}
.brand:hover .penrose-mark svg{transform:rotate(5deg);filter:drop-shadow(0 0 8px rgba(var(--accent-rgb),.35))}
@keyframes ida-v25-star-drift{0%{transform:translate(-7px,2px);opacity:0}24%{opacity:1}75%{opacity:.65}100%{transform:translate(18px,-7px);opacity:0}}
@keyframes ida-v25-spark{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(calc(-50% + var(--sx)),calc(-50% + var(--sy))) scale(.22)}}
@keyframes ida-v25-star-breathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.18)}}
/* Classic gets a distinct dimensional system. Navy keeps the approved materials. */
html[data-theme="ivory"] .glass-card,html[data-theme="ivory"] .service-card,html[data-theme="ivory"] .project-card,html[data-theme="ivory"] .why-journey,html[data-theme="ivory"] .automation-feature,html[data-theme="ivory"] .automation-benefits article,html[data-theme="ivory"] .subpage-trail a{
  background:linear-gradient(135deg,rgba(255,255,255,.84),rgba(246,245,255,.38) 47%,rgba(225,244,250,.37)),var(--glass);
  box-shadow:inset 1px 1px rgba(255,255,255,.95),inset -1px -1px rgba(149,104,174,.12),0 18px 54px rgba(118,91,137,.105),0 4px 18px rgba(82,148,165,.07);
  backdrop-filter:blur(23px) saturate(1.55);
  -webkit-backdrop-filter:blur(23px) saturate(1.55);
}
html[data-theme="ivory"] .ida-v25-illuminated{position:relative;isolation:isolate}
html[data-theme="ivory"] .ida-v25-illuminated::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 10% 0%,rgba(103,197,236,.18),transparent 51%),radial-gradient(ellipse at 100% 95%,rgba(245,126,201,.13),transparent 50%);pointer-events:none;opacity:.85;mix-blend-mode:multiply;transition:opacity .5s}
html[data-theme="ivory"] .ida-v25-illuminated:hover::after{opacity:1}
.ida-v25-rim{display:none}
html[data-theme="ivory"] .ida-v25-rim{display:block;position:absolute;inset:-1px;border-radius:inherit;padding:1.2px;pointer-events:none;z-index:8;background:conic-gradient(from var(--ida-v25-angle,0deg),rgba(83,179,224,.23),rgba(217,113,205,.83),rgba(134,99,211,.35),rgba(112,205,214,.68),rgba(250,180,95,.68),rgba(98,170,242,.22),rgba(83,179,224,.23));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.72;animation:ida-v25-orbit 15s linear infinite}
html[data-theme="ivory"] .ida-v25-illuminated:hover .ida-v25-rim{opacity:1;filter:brightness(1.18)}
@property --ida-v25-angle{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes ida-v25-orbit{to{--ida-v25-angle:360deg}}
html[data-theme="ivory"] .section-heading h2 em,html[data-theme="ivory"] .contact-layout h2 em{background:linear-gradient(95deg,#8d6e47,#8a6dba,#477e9d,#a87590,#8d6e47);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:ida-v25-iridescence 17s ease-in-out infinite}
html[data-theme="ivory"] .ida-v25-typography{transition:letter-spacing .7s ease,text-shadow .7s ease}
html[data-theme="ivory"] .ida-v25-typography:hover{letter-spacing:.004em;text-shadow:0 0 28px rgba(113,119,195,.16)}
html[data-theme="ivory"] .desktop-nav a:hover .ida-v25-nav-stars i,html[data-theme="ivory"] .mobile-nav a:hover .ida-v25-nav-stars i{background:#965bd2;box-shadow:0 0 8px rgba(106,118,226,.5)}
html[data-theme="ivory"] .ida-configurator{background:linear-gradient(140deg,rgba(255,255,255,.94),rgba(245,242,255,.76),rgba(239,250,249,.72));border-color:rgba(165,134,186,.27)}
html[data-theme="ivory"] .ida-guide-panel{background:linear-gradient(145deg,rgba(254,251,247,.97),rgba(244,247,252,.97))}
@keyframes ida-v25-iridescence{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(max-width:740px){.ida-configurator{padding:19px}.ida-config-progress span{font-size:8px;letter-spacing:0;padding-top:10px}.ida-choice{min-height:110px;padding:13px 12px}.ida-choice strong{font-size:12px}.ida-choice small{font-size:10px}.ida-configurator .form-row{grid-template-columns:1fr}.ida-guide-launch{padding:11px 14px}.ida-config-footer{flex-wrap:wrap}.ida-config-footer #ida-config-counter{order:1}.ida-config-footer .btn{order:2}.ida-guide-panel{max-height:69vh}}
@media(max-width:420px){.ida-choice-grid,.ida-feature-grid{gap:7px}.ida-choice{min-height:100px}.ida-config-progress span{font-size:7.6px}.ida-feature-grid label{font-size:10px;padding:10px 7px}}
@media(prefers-reduced-motion:reduce){.ida-v25-nav-stars i,[data-v25-icon-kind="star"],html[data-theme="ivory"] .ida-v25-rim,html[data-theme="ivory"] .section-heading h2 em,html[data-theme="ivory"] .contact-layout h2 em{animation:none!important}.ida-v25-click-spark{display:none!important}.ida-choice,.ida-config-progress span,.ida-v25-typography{transition:none!important}}

/* V26 — Penrose is IDA's assistant, not an unrelated floating widget. */
.ida-brand-system{display:flex;align-items:center;gap:3px;min-width:0;flex:none}
.ida-brand-system .brand{flex:none}
.ida-brand-system .brand-lockup{gap:0}
.ida-penrose-assistant.ida-guide-launch{
  position:relative;inset:auto;bottom:auto;right:auto;z-index:auto;
  display:inline-grid;place-items:center;flex:none;
  width:42px;height:42px;padding:4px;
  border:0;border-radius:50%;background:transparent;box-shadow:none;
  -webkit-backdrop-filter:none;backdrop-filter:none;
  color:var(--accent);
  transition:transform .3s ease,filter .3s ease;
  isolation:isolate;
}
.ida-penrose-assistant.ida-guide-launch::before{
  content:"";position:absolute;inset:4px;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),.17),transparent 71%);
  filter:blur(4px);opacity:0;transition:opacity .3s;pointer-events:none;
}
.ida-penrose-assistant.ida-guide-launch:hover,
.ida-penrose-assistant.ida-guide-launch:focus-visible,
.ida-penrose-assistant.ida-guide-launch.is-assistant-open{
  transform:scale(1.055);box-shadow:none;filter:drop-shadow(0 0 5px rgba(var(--accent-rgb),.3));
}
.ida-penrose-assistant.ida-guide-launch:hover::before,
.ida-penrose-assistant.ida-guide-launch:focus-visible::before,
.ida-penrose-assistant.ida-guide-launch.is-assistant-open::before{opacity:1}
.ida-penrose-assistant .penrose-mark{position:relative;z-index:1;pointer-events:none}
.ida-penrose-assistant:hover .penrose-mark svg,
.ida-penrose-assistant:focus-visible .penrose-mark svg,
.ida-penrose-assistant.is-assistant-open .penrose-mark svg{
  filter:drop-shadow(0 0 8px rgba(var(--accent-rgb),.5));
}
.ida-penrose-assistant.is-assistant-open .penrose-mark{animation-duration:5s}
.ida-penrose-assistant.ida-guide-launch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.ida-guide-panel{
  top:calc(79px + 10px);right:max(18px,env(safe-area-inset-right));bottom:auto;
  z-index:156;
}
@media(max-width:690px){
  .ida-brand-system{gap:0}
  .ida-penrose-assistant.ida-guide-launch{width:37px;height:37px;min-height:37px;padding:3px}
  .ida-guide-panel{top:calc(70px + 9px);max-height:min(560px,calc(100dvh - 90px))}
}
@media(prefers-reduced-motion:reduce){
  .ida-penrose-assistant,.ida-penrose-assistant .penrose-mark{animation:none!important;transition:none!important}
}
