/* Six task-specific workspaces. Their existing brand type and colours remain distinct. */
[class^="dx-"] { min-width:0; }
.dx-heading { display:grid; grid-template-columns:1.15fr 1fr; gap:70px; align-items:end; margin-bottom:42px; }
.dx-heading h2 { font-family:var(--display); font-size:clamp(38px,4.2vw,66px); font-weight:500; line-height:1.08; letter-spacing:-.035em; max-width:16ch; }
.dx-heading p { font-size:14px; line-height:1.8; max-width:52ch; }
.dx-stay,.dx-kitchen,.dx-colour,.dx-week,.dx-garden,.dx-property { padding-block:85px; }
[class^="dx-"] button,[class^="dx-"] input,[class^="dx-"] select { font:inherit; }
[class^="dx-"] button { cursor:pointer; }
[class^="dx-"] button:disabled { cursor:default; opacity:.45; }
[class^="dx-"] button:focus-visible,[class^="dx-"] input:focus-visible,[class^="dx-"] select:focus-visible,.dx-property-matrix:focus-visible { outline:3px solid var(--accent,var(--ink)); outline-offset:4px; }
[class^="dx-"] input[type="date"],[class^="dx-"] select { width:100%; border:1px solid var(--line); padding:11px 12px; background:var(--paper); color:var(--ink); margin-top:8px; min-height:46px; border-radius:0; }
[class^="dx-"] input[type="range"] { width:100%; min-height:36px; display:block; accent-color:var(--ink); }
[class^="dx-"] input[type="checkbox"],[class^="dx-"] input[type="radio"] { accent-color:var(--ink); width:18px; height:18px; vertical-align:middle; }
[class^="dx-"] output { float:right; font-size:12px; }
.dx-primary { padding:14px 20px; background:var(--ink); color:var(--paper); border:1px solid var(--ink); min-height:48px; font-size:12px!important; transition:background .2s,transform .2s; }
.dx-primary:active { transform:translateY(1px); }
.dx-small,.dx-disclosure { font-size:11px; line-height:1.75; }
.dx-small { margin-top:18px; opacity:.8; }
.dx-disclosure { margin-top:24px; }
.dx-status { font-size:12px; line-height:1.7; margin-top:12px; }
.dx-status:empty { margin:0; }

/* Stillwater: tactile room selection and a quiet calendar beside the stay folio. */
.dx-stay-layout { display:grid; grid-template-columns:1.2fr .8fr; gap:40px; align-items:start; }
.dx-stay-choices>fieldset { border:0; margin:0 0 30px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.dx-stay-choices legend { font-family:var(--display); font-size:25px; margin-bottom:18px; }
.dx-room-choice { position:relative; display:block; cursor:pointer; border:1px solid var(--line); background:var(--paper); transition:box-shadow .25s; }
.dx-room-choice:has(input:checked) { box-shadow:0 0 0 2px var(--ink); }
.dx-room-choice>input { position:absolute; z-index:1; top:12px; left:12px; }
.dx-room-choice>img { height:150px; width:100%; object-fit:cover; }
.dx-room-choice>span { display:block; padding:16px; }
.dx-room-choice b { font-family:var(--display); font-size:25px; font-weight:500; display:block; }
.dx-room-choice small,.dx-room-choice em { display:block; font-size:11px; margin-top:6px; font-style:normal; }
.dx-calendar { border:1px solid var(--line); padding:25px; }
.dx-calendar-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.dx-calendar-top h3 { font-family:var(--display); font-size:25px; font-weight:500; }
.dx-calendar-top button { width:44px; height:44px; border:1px solid var(--line); border-radius:50%; font-size:25px; }
.dx-calendar-weekdays,.dx-calendar-days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); text-align:center; }
.dx-calendar-weekdays { font-size:10px; color:var(--muted); margin-bottom:10px; }
.dx-calendar-days { row-gap:5px; }
.dx-calendar-days button { min-height:42px; height:42px; font-size:12px; position:relative; border-radius:4px; }
.dx-calendar-days button[data-selected="true"] { background:var(--ink); color:var(--paper); }
.dx-calendar-days button[data-in-range="true"] { background:var(--panel); }
.dx-calendar-days button:not(:disabled):hover { box-shadow:inset 0 0 0 1px var(--ink); }
.dx-calendar-days button[data-today="true"]:after { content:''; position:absolute; width:3px; height:3px; background:currentColor; bottom:5px; left:50%; border-radius:50%; }
.dx-calendar>[data-dx-date-hint] { font-size:11px; margin-top:18px; line-height:1.6; }
.dx-stay-summary { background:var(--panel); padding:32px; position:sticky; top:25px; }
.dx-stay-summary>h3 { font-family:var(--display); font-size:37px; margin-bottom:25px; font-weight:500; }
.dx-date-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:20px; }
.dx-date-fields label,.dx-input-label { display:block; font-size:11px; }
.dx-extras { border:0; padding:0; margin:25px 0; }
.dx-extras legend { font-family:var(--display); font-size:23px; margin-bottom:13px; }
.dx-extras label { display:block; font-size:12px; margin:13px 0; }
.dx-extras label span { display:block; padding-left:25px; font-size:10px; margin-top:4px; }
.dx-stay-summary [data-dx-stay-cost] { border-top:1px solid var(--line); padding-top:20px; font-size:12px; }
.dx-stay-summary dl>div { display:flex; justify-content:space-between; gap:15px; margin-bottom:13px; }
.dx-stay-summary dd { margin:0; }
.dx-stay-total { display:flex; justify-content:space-between; align-items:end; padding-top:18px; border-top:1px solid var(--line); margin-bottom:18px; }
.dx-stay-total strong { font-family:var(--display); font-size:43px; font-weight:500; }
.dx-stay-summary details { font-size:10px; margin:20px 0; }
.dx-stay-summary details summary { cursor:pointer; min-height:35px; }
.dx-stay-summary details li { display:flex; justify-content:space-between; margin:8px 0; }
.dx-stay-summary>.dx-primary { width:100%; }

/* Oak & Form: the workshop drawing is the centre, finishes behave like material samples. */
.dx-kitchen-workbench { display:grid; grid-template-columns:1.45fr 1fr; background:#e5e0d6; border:1px solid #b3aa9c; }
.dx-elevation { padding:28px; display:flex; flex-direction:column; justify-content:center; background:#eeeae2; }
.dx-view-toolbar { display:flex; justify-content:space-between; gap:18px; font-size:10px; margin-bottom:22px; }
.dx-view-toolbar label { display:flex; align-items:center; gap:8px; }
.dx-elevation [data-dx-elevation] { background:#f9f7f1; overflow:hidden; box-shadow:0 15px 35px #47362714; }
.dx-elevation svg { width:100%; display:block; }
.oak [data-dx-elevation] { view-transition-name:dx-kitchen-drawing; }
.rowan [data-dx-garden-scene] { view-transition-name:dx-garden-drawing; }
:root:has(body.oak),:root:has(body.rowan) { view-transition-name:none; }
::view-transition-group(dx-kitchen-drawing),::view-transition-group(dx-garden-drawing) { animation-duration:.35s; }
.dx-elevation svg .dx-cabinet-fill,.dx-elevation svg .dx-surface-fill,.dx-elevation svg .dx-hardware-fill { transition:fill .35s ease; }
.dx-elevation>p { font-size:11px; line-height:1.6; margin-top:20px; }
.dx-material-controls { padding:30px; border-left:1px solid #b3aa9c; }
.dx-swatches { border:0; padding:0; margin:0 0 24px; }
.dx-swatches legend { font-size:12px; font-weight:600; margin-bottom:13px; }
.dx-swatches>div { display:flex; flex-wrap:wrap; gap:12px; }
.dx-swatches button { font-size:10px; padding:0 3px 8px; max-width:90px; border-bottom:2px solid transparent; }
.dx-swatches button>span { display:block; height:40px; width:40px; border-radius:50%; background:var(--swatch); margin:0 auto 7px; box-shadow:inset 0 0 0 1px #0001; }
.dx-swatches button[aria-pressed="true"] { border-color:var(--ink); }
.dx-swatches button[aria-pressed="true"]>span { outline:1px solid var(--ink); outline-offset:3px; }
.dx-material-controls>label { display:block; font-size:12px; }
.dx-kitchen-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:20px; }
.dx-kitchen-actions>button:last-child { font-size:11px; min-height:44px; border-bottom:1px solid var(--line); }
.dx-saved-heading { display:flex; justify-content:space-between; align-items:center; margin:30px 0 18px; }
.dx-saved-heading h3 { font-family:var(--display); font-size:26px; font-weight:500; }
.dx-saved-heading span { font-size:11px; }
.dx-saved-finishes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dx-saved-finishes>p { font-size:12px; grid-column:1/-1; }
.dx-saved-finishes article { border:1px solid var(--line); padding:18px; }
.dx-finish-stripe { display:flex; height:45px; margin-bottom:12px; }
.dx-finish-stripe span { flex:1; }
.dx-saved-finishes h4 { font-size:12px; margin:12px 0 7px; }
.dx-saved-finishes p { font-size:10px; line-height:1.6; }
.dx-saved-finishes article>div:last-child { display:flex; gap:20px; margin-top:12px; }
.dx-saved-finishes button { font-size:11px; border-bottom:1px solid var(--line); min-height:35px; }

/* Signal House: a colour suite, with the controls kept outside the image. */
.dx-colour-layout { display:grid; grid-template-columns:1.9fr .75fr; gap:35px; align-items:start; }
.dx-colour-stage { position:relative; aspect-ratio:1.5; background:#29252e; overflow:hidden; }
.dx-colour-stage>img,.dx-colour-layer img { width:100%; height:100%; object-fit:cover; }
.dx-colour-layer { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--reveal)) 0 0); }
.dx-wipe-line { position:absolute; top:0; bottom:0; left:var(--reveal); width:1px; background:white; pointer-events:none; }
.dx-wipe-line:after { content:'↔'; position:absolute; top:50%; left:-20px; width:40px; height:40px; border-radius:50%; background:#f4f2ed; color:#201d2a; display:grid; place-items:center; font-size:20px; box-shadow:0 2px 12px #0004; }
.dx-look-label,.dx-original-label { position:absolute; top:18px; padding:7px 10px; background:#211c2abe; color:#fff; font-size:10px; }
.dx-look-label { left:18px; }
.dx-original-label { right:18px; }
.dx-wipe-control { display:block; margin-top:17px; font-size:11px; }
.dx-look-presets { display:flex; border:1px solid var(--line); margin-top:20px; }
.dx-look-presets button { flex:1; font-size:12px; padding:14px 5px; border-right:1px solid var(--line); }
.dx-look-presets button:last-child { border:0; }
.dx-look-presets button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.dx-grade-controls { background:var(--panel); padding:28px; }
.dx-grade-controls>label { display:block; font-size:12px; margin-bottom:25px; }
.dx-grade-controls output { opacity:.6; }
.dx-grade-actions { display:grid; gap:16px; margin-top:28px; }
.dx-grade-actions>button:first-child { border-bottom:1px solid var(--line); min-height:40px; font-size:11px; justify-self:start; }

/* Forma: one weekday at a time, a soft calendar and a practical calendar export. */
.dx-week-controls { display:flex; align-items:end; flex-wrap:wrap; gap:24px; padding:22px 28px; background:var(--panel); border-radius:22px; margin-bottom:30px; }
.dx-week-controls label { font-size:12px; flex:1; min-width:170px; }
.dx-week-controls>button { font-size:11px; min-height:46px; border-bottom:1px solid var(--line); }
.dx-week-layout { display:grid; grid-template-columns:1.6fr .8fr; gap:32px; }
.dx-day-strip { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; margin-bottom:20px; }
.dx-day-strip button { border:1px solid var(--line); border-radius:25px 25px 15px 15px; padding:16px 5px; font-size:11px; text-align:center; transition:background .2s; }
.dx-day-strip button span,.dx-day-strip button b,.dx-day-strip button small { display:block; }
.dx-day-strip button b { font-size:25px; font-weight:500; margin:7px 0; }
.dx-day-strip button small { font-size:9px; min-height:12px; }
.dx-day-strip button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.dx-week-sessions { display:grid; gap:15px; }
.dx-week-sessions>article { display:grid; grid-template-columns:75px 1fr auto; gap:18px; padding:25px; background:var(--panel); border:1px solid transparent; border-radius:20px; align-items:center; }
.dx-week-sessions>article[data-chosen="true"] { border-color:var(--ink); }
.dx-week-sessions time { font-size:24px; }
.dx-week-sessions h3 { font-family:var(--display); font-size:25px; margin-bottom:7px; font-weight:500; }
.dx-week-sessions p { font-size:11px; line-height:1.6; }
.dx-week-sessions button { width:42px; height:42px; border-radius:50%; border:1px solid var(--ink); font-size:24px; }
.dx-week-sessions button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.dx-week-sessions>p { padding:25px; background:var(--panel); border-radius:20px; font-size:13px; }
.dx-week-summary { padding:28px; border:1px solid var(--line); border-radius:30px; align-self:start; }
.dx-week-stat { display:flex; align-items:center; gap:17px; margin-bottom:23px; }
.dx-week-stat strong { font-size:60px; font-weight:400; line-height:1; }
.dx-week-stat span { font-size:12px; max-width:9ch; line-height:1.5; }
.dx-week-summary h3 { font-family:var(--display); font-size:28px; margin-bottom:20px; font-weight:500; }
.dx-week-summary [data-dx-week-selected] { font-size:12px; line-height:1.8; }
.dx-week-summary ul { list-style:none; padding:0; }
.dx-week-summary li { padding:15px 0; border-top:1px solid var(--line); }
.dx-week-summary li>span { display:block; font-size:10px; }
.dx-week-summary li>div { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.dx-week-summary li button { font-size:10px; text-decoration:underline; min-height:32px; }
.dx-week-summary>.dx-primary { margin-top:22px; border-radius:30px; width:100%; }

/* Rowan & Reed: a native garden drawing, seasonal light and spatial annotations. */
.dx-garden-layout { display:grid; grid-template-columns:1.65fr .85fr; gap:35px; }
.dx-garden-canvas { position:relative; background:#dce5d4; overflow:hidden; align-self:start; }
.dx-garden-canvas svg { width:100%; display:block; aspect-ratio:1.25; }
.dx-garden-canvas svg .dx-leaves,.dx-garden-canvas svg .dx-sky { transition:fill .5s ease; }
.dx-garden-hotspots button { position:absolute; display:flex; align-items:center; gap:7px; min-height:44px; background:#f8f8f0ed; border:1px solid #24433377; border-radius:22px; padding:7px 10px 7px 7px; font-size:9px; box-shadow:0 4px 14px #213c3320; }
.dx-garden-hotspots button>span { border:1px solid #24433388; border-radius:50%; width:20px; height:20px; display:grid; place-items:center; font-size:16px; }
.dx-garden-hotspots button[aria-pressed="true"] { background:#244333; color:#f7f7ef; }
.dx-garden-hotspots button[aria-pressed="true"]>span { border-color:#ffffff66; }
.dx-garden-hotspots [data-dx-garden-point="sit"] { top:59%; left:37%; }
.dx-garden-hotspots [data-dx-garden-point="path"] { top:83%; left:33%; }
.dx-garden-hotspots [data-dx-garden-point="plant"] { top:34%; left:8%; }
.dx-garden-notebook { padding:28px; background:var(--panel); }
.dx-season-buttons { display:grid; grid-template-columns:1fr 1fr; margin-bottom:25px; gap:10px; }
.dx-season-buttons button { border:1px solid var(--line); padding:12px 6px; font-size:12px; }
.dx-season-buttons button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.dx-garden-notebook>label { font-size:12px; display:block; margin-bottom:25px; }
.dx-garden-detail { border-top:1px solid var(--line); padding-top:25px; }
.dx-garden-detail h3 { font-family:var(--display); font-size:31px; line-height:1.15; margin-bottom:13px; font-weight:500; }
.dx-garden-detail p { font-size:12px; line-height:1.8; }
.dx-season-notes { margin:20px 0; font-size:11px; line-height:1.7; }
.dx-season-notes div { border-top:1px solid var(--line); padding:12px 0; }
.dx-season-notes dt { font-weight:600; }
.dx-season-notes dd { margin:5px 0 0; }
.dx-garden-notebook>.dx-primary { width:100%; }

/* Fieldwork: a disciplined comparison workspace, rather than another property card grid. */
.dx-building-picker { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-bottom:28px; }
.dx-building-picker button { padding:18px 14px; border:1px solid var(--line); text-align:left; display:flex; flex-direction:column; gap:11px; }
.dx-building-picker button>span { height:22px; width:22px; border:1px solid var(--line); display:grid; place-items:center; font-size:15px; }
.dx-building-picker button[aria-pressed="true"] { border-color:var(--ink); background:var(--panel); }
.dx-building-picker button[aria-pressed="true"]>span { background:var(--ink); color:var(--paper); }
.dx-building-picker b { font-family:var(--display); font-size:23px; font-weight:500; }
.dx-building-picker small { font-size:10px; line-height:1.5; }
.dx-comparison-toolbar { display:flex; gap:25px; align-items:center; flex-wrap:wrap; padding:20px 0; border-block:1px solid var(--line); margin-bottom:28px; }
.dx-comparison-toolbar>div { display:flex; }
.dx-comparison-toolbar>div>button { border:1px solid var(--line); padding:13px 16px; font-size:12px; }
.dx-comparison-toolbar button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.dx-comparison-toolbar>label { font-size:11px; }
.dx-comparison-toolbar>label:first-of-type { display:flex; align-items:center; gap:12px; margin-left:auto; }
.dx-comparison-toolbar select { width:150px; margin:0; font-size:11px; }
.dx-property-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:25px; }
.dx-property-overview[data-columns="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dx-property-overview[data-columns="1"] { grid-template-columns:1fr; max-width:500px; }
.dx-property-overview>article { background:var(--panel); padding:25px; }
.dx-property-overview img { width:100%; aspect-ratio:1.6; object-fit:cover; margin-bottom:22px; }
.dx-property-overview h3 { font-family:var(--display); font-size:35px; font-weight:500; margin-bottom:14px; }
.dx-property-overview p { font-size:12px; line-height:1.8; }
.dx-area-bar { height:8px; background:#ccd7e9; margin-top:25px; }
.dx-area-bar span { display:block; height:100%; background:var(--ink); transition:width .4s; }
.dx-property-overview dl { font-size:11px; display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:22px; }
.dx-property-overview dt { opacity:.7; }
.dx-property-overview dd { margin:6px 0 0; font-weight:600; }
.dx-property-matrix { width:100%; overflow-x:auto; border:1px solid var(--line); overscroll-behavior-x:contain; }
.dx-property-matrix table { border-collapse:collapse; width:100%; min-width:600px; text-align:left; }
.dx-property-matrix caption { text-align:left; padding:20px; font-family:var(--display); font-size:28px; }
.dx-property-matrix th,.dx-property-matrix td { padding:18px; border-top:1px solid var(--line); font-size:12px; vertical-align:top; min-width:150px; }
.dx-property-matrix thead th { background:var(--ink); color:var(--paper); font-weight:500; }
.dx-property-matrix tbody th { background:var(--panel); font-weight:500; min-width:170px; }
.dx-property-matrix tbody th,.dx-property-matrix thead th:first-child { position:sticky; left:0; z-index:1; }
.dx-matrix-hint { display:none; }
.dx-property-matrix td[data-included="true"] { font-weight:600; }
.dx-property-bottom { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-top:28px; }
.dx-property-bottom p { font-size:12px; line-height:1.7; }

@media(max-width:1000px) {
 .dx-heading { gap:35px; }
 .dx-stay-layout,.dx-colour-layout,.dx-garden-layout { gap:25px; }
 .dx-stay-summary,.dx-material-controls,.dx-grade-controls,.dx-garden-notebook { padding:25px; }
 .dx-kitchen-workbench { grid-template-columns:1.3fr 1fr; }
 .dx-building-picker { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .dx-week-layout { grid-template-columns:1.3fr 1fr; gap:25px; }
 .dx-week-sessions>article { grid-template-columns:1fr auto; gap:12px; padding:22px; }
 .dx-week-sessions time { grid-column:1; font-size:18px; }
 .dx-week-sessions article>div { grid-column:1; }
 .dx-week-sessions article>button { grid-column:2; grid-row:1/3; }
 .dx-property-overview { gap:15px; }
 .dx-property-overview>article { padding:20px; }
}
@media(max-width:700px) {
 .dx-stay,.dx-kitchen,.dx-colour,.dx-week,.dx-garden,.dx-property { padding-block:45px; }
 .dx-heading { grid-template-columns:1fr; gap:18px; margin-bottom:28px; }
 .dx-heading h2 { font-size:42px; max-width:16ch; }
 .dx-heading p { font-size:12px; }
 .dx-stay-layout,.dx-kitchen-workbench,.dx-colour-layout,.dx-week-layout,.dx-garden-layout { grid-template-columns:1fr; }
 .dx-stay-choices>fieldset { gap:12px; }
 .dx-room-choice>img { height:120px; }
 .dx-room-choice>span { padding:14px; }
 .dx-room-choice b { font-size:23px; }
 .dx-room-choice small,.dx-room-choice em { font-size:10px; }
 .dx-calendar { padding:18px; }
 .dx-stay-summary { position:static; padding:25px; }
 .dx-date-fields { gap:10px; }
 .dx-date-fields input { font-size:11px; padding:10px 7px; }
 .dx-stay-summary>h3 { font-size:33px; }
 .dx-elevation { padding:20px; }
 .dx-view-toolbar { font-size:9px; gap:10px; }
 .dx-material-controls { border-left:0; border-top:1px solid #b3aa9c; padding:25px; }
 .dx-saved-finishes { grid-template-columns:1fr; gap:15px; }
 .dx-saved-finishes article { display:grid; grid-template-columns:70px 1fr; gap:5px 18px; }
 .dx-finish-stripe { grid-column:1; grid-row:1/4; height:100%; margin:0; }
 .dx-saved-finishes h4 { margin:0 0 4px; }
 .dx-saved-finishes article>div:last-child { grid-column:2; margin-top:5px; }
 .dx-colour-stage { aspect-ratio:1.3; }
 .dx-grade-controls { padding:25px; }
 .dx-look-label,.dx-original-label { top:12px; font-size:9px; }
 .dx-look-label { left:12px; }.dx-original-label { right:12px; }
 .dx-grade-controls>label { margin-bottom:20px; }
 .dx-week-controls { padding:20px; gap:18px; }
 .dx-week-controls label { min-width:100%; }
 .dx-week-controls>button { min-height:38px; }
 .dx-day-strip { gap:4px; }
 .dx-day-strip button { font-size:9px; border-radius:18px 18px 10px 10px; padding:13px 2px; }
 .dx-day-strip button b { font-size:22px; }
 .dx-day-strip button small { font-size:8px; }
 .dx-week-sessions>article { grid-template-columns:60px 1fr 36px; padding:20px; gap:12px; }
 .dx-week-sessions time { grid-row:1; grid-column:1; }
 .dx-week-sessions article>div { grid-column:2; }
 .dx-week-sessions article>button { grid-column:3; grid-row:1; width:36px; height:36px; }
 .dx-week-sessions h3 { font-size:22px; line-height:1.15; }
 .dx-week-sessions p { font-size:10px; }
 .dx-week-summary { padding:25px; }
 .dx-garden-hotspots button { font-size:8px; padding:5px 8px 5px 5px; gap:5px; }
 .dx-garden-hotspots button>span { width:17px; height:17px; font-size:14px; }
 .dx-garden-notebook { padding:25px; }
 .dx-building-picker { grid-template-columns:1fr 1fr; gap:10px; }
 .dx-building-picker button { padding:16px; gap:9px; }
 .dx-building-picker b { font-size:24px; }
 .dx-comparison-toolbar { gap:18px; }
 .dx-comparison-toolbar>div { flex-basis:100%; }
 .dx-comparison-toolbar>div>button { flex:1; }
 .dx-comparison-toolbar>label:first-of-type { margin-left:0; }
 .dx-property-overview,.dx-property-overview[data-columns="2"] { grid-template-columns:1fr; gap:20px; }
 .dx-property-overview>article { padding:25px; }
 .dx-matrix-hint { display:block; font-size:10px; padding:15px 18px 0; }
 .dx-property-bottom { flex-direction:column; align-items:start; gap:17px; }
}
@media(max-width:360px) {
 .dx-heading h2 { font-size:36px; }
 .dx-calendar { padding:14px; }
 .dx-calendar-days button { min-height:36px; height:36px; }
 .dx-calendar-top h3 { font-size:23px; }
 .dx-stay-summary,.dx-material-controls,.dx-grade-controls,.dx-garden-notebook { padding:20px; }
 .dx-date-fields { grid-template-columns:1fr; gap:15px; }
 .dx-room-choice b { font-size:21px; }
 .dx-view-toolbar { flex-wrap:wrap; }
 .dx-swatches>div { gap:9px; }
 .dx-week-sessions>article { grid-template-columns:1fr 36px; padding:18px; }
 .dx-week-sessions time { grid-row:1; grid-column:1; }
 .dx-week-sessions article>div { grid-column:1; grid-row:2; }
 .dx-week-sessions article>button { grid-column:2; grid-row:1/3; }
 .dx-comparison-toolbar>label:first-of-type { display:block; }
 .dx-comparison-toolbar select { margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) {
 [class^="dx-"] *,[class^="dx-"] { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
@media print {
 .dx-building-picker,.dx-comparison-toolbar,.dx-day-strip,.dx-kitchen-actions,.dx-grade-actions,.dx-primary { display:none!important; }
 .dx-property-matrix { overflow:visible; }.dx-property-matrix table { min-width:0; }
 .dx-stay-summary { position:static; }.dx-heading,.dx-stay-layout,.dx-kitchen-workbench,.dx-colour-layout,.dx-week-layout,.dx-garden-layout { display:block; }
}

/* Each brand frames the same short visitor sequence in its own visual language. */
.jx-path { padding-block:70px 90px; }
.jx-path-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:50px; align-items:start; margin-bottom:35px; }
.jx-path-heading h2 { font-family:var(--display); font-size:clamp(30px,4vw,50px); line-height:1.08; font-weight:500; max-width:22ch; }
.jx-path-heading p { max-width:48ch; line-height:1.75; }
.jx-path-list { list-style:none; padding:0; margin:0; }
.jx-path-list h3 { font-family:var(--display); font-size:27px; line-height:1.15; font-weight:500; margin-bottom:10px; }
.jx-path-list p { max-width:35ch; font-size:12px; line-height:1.7; }
.jx-path-number { font-size:12px; }
.jx-path-list a { display:block; min-width:0; }
.jx-path-list a:focus-visible,.jx-continue a:focus-visible,.jx-carried button:focus-visible { outline:3px solid var(--accent,var(--ink)); outline-offset:5px; }
.jx-path-note { font-size:11px; line-height:1.7; margin-top:25px; max-width:80ch; }
.stillwater .jx-path-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); }
.stillwater .jx-path-list li { padding:28px 25px 15px 0; }
.stillwater .jx-path-number { display:block; font-family:var(--display); font-size:31px; margin-bottom:18px; }
.oak .jx-path-list { display:grid; grid-template-columns:1fr 1fr 1fr; border:1px solid var(--line); }
.oak .jx-path-list li { padding:25px; display:flex; gap:20px; }
.oak .jx-path-list li+li { border-left:1px solid var(--line); }
.oak .jx-path-number { padding-top:4px; }
.signal .jx-path-list { display:flex; background:var(--panel); }
.signal .jx-path-list li { flex:1; padding:32px; border-right:1px solid var(--line); }
.signal .jx-path-number { display:block; color:var(--accent); margin-bottom:25px; }
.forma .jx-path { background:var(--panel); border-radius:40px; margin-top:40px; }
.forma .jx-path-list { display:grid; grid-template-columns:1fr 1fr 1fr; gap:25px; }
.forma .jx-path-list li { padding-top:24px; border-top:2px solid var(--ink); }
.forma .jx-path-number { display:inline-grid; place-items:center; width:32px; height:32px; border:1px solid var(--line); border-radius:50%; margin-bottom:17px; }
.rowan .jx-path { border-top:1px solid var(--line); }
.rowan .jx-path-list li { display:grid; grid-template-columns:65px 1fr; padding:23px 0; border-top:1px solid var(--line); }
.rowan .jx-path-list a { display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:30px; }
.rowan .jx-path-number { font-family:var(--display); font-size:25px; }
.fieldwork .jx-path-list li { display:grid; grid-template-columns:60px 1fr; border-top:1px solid var(--ink); padding:22px 0; }
.fieldwork .jx-path-list a { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.fieldwork .jx-path-list h3 { font-size:33px; }
.jx-continue { display:flex; flex-wrap:wrap; align-items:center; gap:18px 25px; padding-top:30px; border-top:1px solid var(--line); margin-top:35px; }
.jx-continue .dx-primary { display:inline-flex; align-items:center; justify-content:center; text-align:center; max-width:100%; line-height:1.5; }
.jx-continue>a:not(.dx-primary) { font-size:12px; text-decoration:underline; text-underline-offset:5px; }
.jx-continue>p { flex-basis:100%; font-size:11px; line-height:1.65; }
.jx-carried { margin-top:30px; border-top:1px solid var(--line); padding-top:23px; min-width:0; }
.jx-carried h3 { font-family:var(--display); font-size:27px; line-height:1.2; font-weight:500; }
.jx-carried>p { font-size:12px; line-height:1.75; margin:12px 0 20px; max-width:55ch; }
.jx-carried dl { margin:0; }
.jx-carried dl>div { display:grid; grid-template-columns:minmax(95px,.7fr) minmax(0,1.3fr); gap:15px; padding:11px 0; border-bottom:1px solid var(--line); font-size:12px; line-height:1.6; }
.jx-carried dt { color:var(--muted,var(--ink)); }
.jx-carried dd { margin:0; overflow-wrap:anywhere; white-space:pre-line; }
.jx-carried button { margin-top:20px; min-height:44px; font-size:12px; }
.jx-carried small { display:block; font-size:12px; line-height:1.7; margin-top:15px; max-width:50ch; }
.jx-check { display:flex!important; align-items:center; gap:12px; }
.jx-check input { width:18px!important; min-height:18px!important; margin:0!important; flex:none; }
@media(max-width:1000px) {
 .oak .jx-path-list { grid-template-columns:1fr; }
 .oak .jx-path-list li+li { border-left:0; border-top:1px solid var(--line); }
 .signal .jx-path-list li { padding:24px; }
}
@media(max-width:700px) {
 .jx-path { padding-block:45px; }
 .jx-path-heading { grid-template-columns:1fr; gap:18px; }
 .stillwater .jx-path-list,.forma .jx-path-list { grid-template-columns:1fr; }
 .signal .jx-path-list { display:block; }
 .signal .jx-path-list li { border-right:0; border-bottom:1px solid var(--line); }
 .rowan .jx-path-list a,.fieldwork .jx-path-list a { grid-template-columns:1fr; gap:4px; }
 .forma .jx-path { border-radius:25px; }
 .jx-carried dl>div { grid-template-columns:1fr; gap:4px; }
 .oak .jx-carried dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; }
 .jx-continue { align-items:stretch; flex-direction:column; gap:17px; }
 .jx-path-list a,.jx-continue a { min-height:44px; }
}

.jx-tool-next{margin-top:25px;padding-top:20px;border-top:1px solid var(--line)}.jx-tool-next a{font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:5px;display:inline-block;min-height:44px;max-width:100%;line-height:1.6}.jx-tool-next p{font-size:10px;line-height:1.7;margin-top:5px}.jx-tool-next a:focus-visible{outline:3px solid var(--accent,var(--ink));outline-offset:5px}
