/* Measured V3 visitor system: 8px rhythm, one header, integrated companion column. */
:root{--v3-header:104px;--v3-rail:344px;--v3-space:32px}
.v3-public{background:#f5f8fa;font-size:16px;line-height:1.65}.v3-public button,.v3-public input,.v3-public select,.v3-public textarea{font:inherit}.preview-note{height:24px;background:#e9f0f5;color:#475569;text-align:center;font-size:11px;line-height:24px;letter-spacing:.02em}.v3-header{height:80px;background:#fff;display:flex;align-items:center;padding:0 28px;gap:28px;border-bottom:1px solid #dae3eb;position:relative;z-index:30}.v3-brand{flex:none}.v3-brand img{display:block;width:75px;height:62px;object-fit:contain}.v3-nav{display:flex;gap:22px;align-items:center;margin:auto}.nav-group{position:relative;font-size:14px}.nav-group summary{list-style:none;cursor:pointer;font-weight:500;white-space:nowrap;padding:25px 0}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary span{margin-left:7px;color:#708596}.nav-group>div{position:absolute;top:66px;left:-20px;width:280px;padding:12px;background:white;box-shadow:0 16px 40px #11365525;border:1px solid #dce5ec;border-radius:10px}.nav-group a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-radius:6px;white-space:normal;line-height:1.4}.nav-group a:hover{background:#edf4f8}.v3-header-actions{display:flex;gap:16px;align-items:center;font-size:13px}.v3-header-actions .btn{padding:11px 16px;min-height:44px}.account-link{white-space:nowrap}.v3-menu-button{display:none}.v3-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--v3-rail);max-width:1600px;margin:auto;align-items:start;background:white}.v3-layout>.page{width:100%;min-width:0;overflow:hidden}.v3-companion{position:sticky;top:0;height:calc(100dvh - var(--v3-header));min-height:480px;padding:28px 24px 20px;background:#edf3f7;border-left:1px solid #d9e4ec;display:flex;flex-direction:column;gap:24px;color:#113655;box-sizing:border-box}.v3-companion-top{display:flex;gap:12px;align-items:center;border-bottom:1px solid #cedde7;padding-bottom:20px;flex-shrink:0}.v3-companion-top b{font-size:15px}.v3-companion-top small{display:block;font-size:11px;color:#597184}.v3-orbit{background:#113655;color:#d7e7f3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%}.v3-conversation{flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.v3-conversation h2{font:600 26px/1.25 'Plus Jakarta Sans',sans-serif;letter-spacing:-1px;margin:12px 0 16px}.v3-conversation p{font-size:14px;line-height:1.7;margin:0 0 20px;color:#4b6274}.v3-conversation .eyebrow{font-size:10px;letter-spacing:.14em;color:#5c7d95}.v3-suggestions{display:grid;gap:10px;margin:24px 0}.v3-suggestions a{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;border:1px solid #cbdbe5;border-radius:7px;font-size:13px;background:#fff;line-height:1.4;min-height:44px}.v3-suggestions a:hover{border-color:#5b87ad;background:#f9fcfe}.v3-note{border-top:1px solid #cedde7;padding-top:16px;font-size:13px}.v3-note summary{cursor:pointer;font-weight:500}.v3-note p{font-size:13px;margin-top:12px}.v3-note button{background:none;border:0;font-size:13px;color:#113655;padding:0}.v3-compose{flex-shrink:0}.v3-compose label{font-weight:500;font-size:13px;display:block;margin-bottom:10px}.v3-compose>div{display:flex;align-items:flex-end;gap:8px;background:#fff;border:1px solid #b9cddc;border-radius:10px;padding:10px}.v3-compose textarea{width:100%;min-height:60px;max-height:90px;resize:vertical;border:0;background:none;padding:0;font-size:13px;color:#113655}.v3-compose button{border:0;background:#113655;color:#fff;width:38px;height:38px;border-radius:6px;display:grid;place-items:center;flex:none}.v3-compose small{font-size:10px;line-height:1.4;display:block;margin-top:10px;color:#60798c}.v3-chat-log .chat-bubble{font-size:13px;background:#fff;margin:10px 0;border:1px solid #d4e0e9}.v3-chat-log .user{background:#dceaf3}.v3-hero{position:relative;min-height:530px;padding:64px 40px;background:linear-gradient(120deg,#0c2a44,#17466e);color:#fff;display:flex;align-items:center;isolation:isolate;overflow:hidden}.v3-hero-copy{width:64%;position:relative;z-index:1}.v3-hero .eyebrow{font-size:11px;letter-spacing:.16em;color:#c5dbe9}.v3-hero h1{font:650 clamp(40px,4.2vw,60px)/1.12 'Plus Jakarta Sans',sans-serif;letter-spacing:-2.5px;color:#fff;margin:24px 0}.v3-hero h1 em{font-style:normal;color:#b3cde1}.v3-hero p{font-size:17px;line-height:1.7;max-width:460px;color:#dfebf3;margin:24px 0 32px}.v3-hero-person{position:absolute;width:43%;right:-4%;bottom:30px;z-index:0}.v3-hero .actions{gap:12px;flex-wrap:wrap}.v3-hero .btn{font-size:13px;min-height:46px;background:#b3cde1;color:#113655;border:1px solid #b3cde1}.v3-hero .btn.secondary{background:transparent;color:white;border-color:#698aa4}.v3-section{padding:56px 40px}.v3-section h2{font:600 clamp(25px,2.65vw,36px)/1.25 'Plus Jakarta Sans',sans-serif;letter-spacing:-1.3px;margin:12px 0 28px}.v3-section>.eyebrow{font-size:11px;letter-spacing:.14em;color:#5b7d96}.v3-section p{font-size:16px;line-height:1.75;color:#475d6f}.v3-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.v3-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-card{border:1px solid #dce5eb;border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.v3-card>div{padding:24px;display:flex;flex-direction:column;flex:1}.v3-card img{width:100%;height:190px;object-fit:cover}.v3-card h3{font-size:20px;line-height:1.3;letter-spacing:-.6px;margin:0 0 12px}.v3-card p{font-size:14px;line-height:1.7;margin:0 0 24px}.v3-card .text-link{margin-top:auto}.text-link{font-weight:500;font-size:13px;display:inline-flex;gap:16px;align-items:center}.v3-editorial{display:grid;grid-template-columns:40% 1fr;gap:32px;align-items:center}.v3-editorial>img{width:100%;max-height:350px;object-fit:cover;border-radius:8px}.v3-editorial h3{font-size:26px;margin:0 0 4px}.v3-editorial p{margin:20px 0}.subtle{color:#637989;font-size:13px}.soft{background:#edf4f8}.v3-service-links{display:grid;grid-template-columns:1fr 1fr;gap:0 32px}.v3-service-links a{display:flex;justify-content:space-between;align-items:center;padding:24px 0;gap:24px;border-bottom:1px solid #ccdce7;font-weight:500;font-size:15px}.v3-faq{padding:22px 0;border-bottom:1px solid #dbe4ec}.v3-faq summary{font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:16px}.v3-faq summary:after{content:'+';font-size:22px;color:#5b87ad}.v3-faq[open] summary:after{content:'−'}.v3-faq p{font-size:15px;margin:16px 0 0}.v3-section>.btn{margin-top:24px}.v3-footer{padding:40px;background:#0c2a44;color:#d3e0ea;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:30px;font-size:12px;line-height:1.8}.v3-footer img{filter:brightness(0) invert(1);width:74px;height:65px;object-fit:contain}.v3-footer h3{font:500 14px 'IBM Plex Sans';color:#fff;margin:0 0 18px}.v3-footer>div>a{display:block}.v3-footer p{color:#c1d1dc;font-size:12px}.v3-footer-bottom{grid-column:1/-1;border-top:1px solid #335169;padding-top:24px;display:flex;flex-wrap:wrap;gap:16px;font-size:11px;align-items:center}.v3-footer-bottom span{margin-right:auto}.v3-footer button{border:0;background:none;color:inherit;font-size:11px}.v3-page-intro{padding:56px 40px 40px;background:#f1f6f9;border-bottom:1px solid #dbe6ee}.v3-page-intro h1{font:600 clamp(36px,3.5vw,48px)/1.14 'Plus Jakarta Sans';letter-spacing:-1.8px;margin:20px 0}.v3-page-intro p{font-size:17px;line-height:1.7;max-width:650px;color:#486176}.v3-page-intro .eyebrow{font-size:11px;color:#5c7b94}.housing-intro{background:linear-gradient(120deg,#e5eff4,#f8faf9)}.v3-filter{display:flex;flex-wrap:wrap;align-items:end;gap:16px;padding:24px;background:#f0f5f8;border:1px solid #dae5ed;border-radius:10px}.v3-filter label{flex:1;min-width:120px;font-size:12px;font-weight:500;display:grid;gap:8px}.v3-filter input,.v3-filter select{width:100%;border:1px solid #bccedb;padding:12px;border-radius:6px;background:#fff;color:#113655;font-size:14px;height:46px}.v3-filter button{min-height:46px;font-size:13px}.v3-results-head{display:flex;justify-content:space-between;align-items:center;margin:32px 0 20px;gap:16px}.v3-results-head h2{font-size:24px;margin:0}.v3-results-head span{font-size:12px;color:#657d8d}.v3-property{border:1px solid #d6e2e9;background:#fff;border-radius:10px;overflow:hidden}.v3-property>a{display:block;position:relative}.v3-property>a img{width:100%;height:230px;object-fit:cover}.v3-property>a span{position:absolute;left:16px;bottom:16px;background:#fff;padding:5px 10px;border-radius:4px;font-size:12px}.v3-property>div{padding:24px}.v3-property small{font-size:10px;letter-spacing:.06em;color:#58758b}.v3-property h3{font-size:24px;letter-spacing:-.7px;margin:10px 0}.v3-property p{font-size:13px}.v3-property-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e0e8ee;padding-top:18px}.v3-property-bottom b{font-size:22px}.v3-property-bottom small{display:block;font-size:11px;letter-spacing:0}.v3-source-note{font-size:11px!important;color:#6a7e8c!important;line-height:1.6!important;margin-top:24px}.v3-breadcrumb{padding:20px 40px;font-size:12px;color:#5d778b}.v3-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:24px;padding-bottom:24px}.v3-gallery button{border:0;padding:0;background:none}.v3-gallery img{width:100%;height:260px;object-fit:cover;border-radius:8px}.v3-detail-grid{display:grid;grid-template-columns:1fr 280px;gap:28px}.v3-detail-grid h2{font-size:27px}.v3-booking-card{border:1px solid #cbdce8;border-radius:10px;padding:24px;background:#f5f9fb;align-self:start}.v3-booking-card>span{font-size:12px}.v3-booking-card h2{font-size:30px;margin:16px 0}.v3-booking-card h2 small{font-size:12px}.v3-booking-card p{font-size:13px}.v3-booking-card>.btn{width:100%;font-size:12px;justify-content:center;margin-top:16px}.v3-booking-card>small{display:block;font-size:11px;color:#617d90;margin-top:16px;line-height:1.5}.v3-amenities{display:flex;gap:8px;flex-wrap:wrap}.v3-amenities span{font-size:12px;background:#edf3f7;border-radius:4px;padding:6px 10px}.v3-steps{font-size:14px;padding-left:20px;line-height:2}.v3-local-label{display:block;font-size:12px;color:#58768c;margin:0 0 20px}.v3-enquiry{max-width:680px}.v3-evidence{padding:20px;background:#f0f5f8;margin:20px 0}.v3-evidence p{font-size:14px}.v3-enquiry .field{margin:20px 0}.v3-enquiry .check-option{margin:20px 0;font-size:14px}.v3-success{border:1px solid #bad9d0;background:#f0f8f5;border-radius:12px;padding:32px}.v3-access{display:grid;grid-template-columns:1.4fr 1fr;gap:28px}.v3-access>div{padding:28px;border:1px solid #dae4eb;border-radius:10px}.v3-access .btn{display:flex;margin:16px 0}.v3-access h2{font-size:27px}.v3-wide-photo{width:100%;height:300px;object-fit:cover;border-radius:8px}.v3-public .concept-details,.v3-public .source-strip{display:none}.v3-public .v2-heading{padding:48px 40px 32px}.v3-public .v2-heading p{font-size:17px;line-height:1.7}.v3-public .v2-content{padding:32px 40px}.v3-public .domain-nav{padding:16px 40px;gap:16px;flex-wrap:wrap;overflow:visible}.v3-public .domain-nav a{font-size:13px}.v3-public .phase{font-size:11px}.v3-mobile-nav{display:none}
@media(min-width:1440px){.v3-layout{--v3-rail:368px}.v3-hero{min-height:600px;padding:72px 56px}.v3-section,.v3-page-intro{padding-left:56px;padding-right:56px}.v3-hero-person{right:0;width:43%}}
@media(max-width:1190px){.v3-header{gap:18px;padding:0 22px}.v3-nav{gap:15px}.nav-group{font-size:12px}.v3-header-actions{gap:12px}.v3-header-actions>.btn{display:none}.v3-layout{--v3-rail:320px}.v3-hero{padding:48px 32px;min-height:510px}.v3-hero h1{font-size:44px}.v3-hero-copy{width:70%}.v3-hero-person{width:40%;right:-4%;bottom:50px;opacity:.95}.v3-hero p{max-width:360px}.v3-hero .actions{max-width:350px}.v3-section{padding:44px 32px}.v3-card-grid{grid-template-columns:1fr}.v3-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-card>div{padding:22px}.v3-detail-grid{grid-template-columns:1fr}.v3-booking-card{max-width:500px;width:100%}.v3-footer{padding:32px;gap:20px}.v3-access{grid-template-columns:1fr}}
@media(max-width:1000px){.v3-nav{display:none}.v3-header-actions{margin-left:auto}.v3-header-actions>.btn{display:inline-flex}.v3-menu-button{display:block;border:1px solid #c9d8e4;background:#fff;border-radius:6px;padding:9px 12px}.v3-mobile-nav{display:block;background:#fff;border-bottom:1px solid #d8e4ed;padding:16px 24px}.v3-mobile-nav summary{font-weight:500;padding:12px 0}.v3-mobile-nav a{display:block;padding:10px 16px;font-size:14px}.v3-layout{--v3-rail:296px}.v3-companion{padding:24px 20px}.v3-conversation h2{font-size:23px}.v3-hero-person{opacity:.4;right:-12%;width:55%}.v3-hero-copy{width:95%}.v3-hero p{max-width:400px}.v3-card-grid.two{grid-template-columns:1fr}.v3-editorial{grid-template-columns:1fr}.v3-editorial img{max-height:320px;object-position:top}.v3-service-links{grid-template-columns:1fr}.v3-footer{grid-template-columns:1fr 1fr}.v3-footer>div:first-child{grid-column:1/-1}.v3-gallery img{height:180px}.v3-page-intro{padding:40px 28px}}
@media(max-width:800px){:root{--v3-header:96px}.preview-note{font-size:10px}.preview-note span{display:none}.v3-header{height:72px;padding:0 20px}.v3-brand img{width:61px;height:56px}.v3-header-actions{font-size:12px;gap:14px}.v3-header-actions>.btn{display:none}.v3-layout{display:flex;flex-direction:column}.v3-layout>.page{display:contents}.v3-layout>.page>*{width:100%;order:3}.v3-layout>.page>*:first-child{order:1}.v3-companion{order:2;position:static;width:100%;height:auto;min-height:0;padding:24px;background:#e9f1f6;border:0;border-bottom:1px solid #cfdee8;gap:16px;display:grid;grid-template-columns:1fr 1fr;align-items:start}.v3-companion-top{grid-column:1/-1;padding-bottom:14px}.v3-conversation{overflow:visible}.v3-conversation h2{font-size:22px;margin-top:8px}.v3-conversation p{font-size:13px;margin-bottom:14px}.v3-conversation>.eyebrow{display:none}.v3-suggestions{margin:12px 0}.v3-suggestions a{font-size:12px;padding:10px}.v3-note{display:none}.v3-compose{padding-top:8px}.v3-hero{min-height:430px;padding:40px 24px}.v3-hero h1{font-size:44px}.v3-hero-copy{width:70%}.v3-hero-person{width:45%;opacity:.8;right:-8%;bottom:30px}.v3-hero p{font-size:16px}.v3-section{padding:40px 24px}.v3-card-grid{grid-template-columns:1fr}.v3-card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-page-intro{padding:40px 24px}.v3-page-intro h1{font-size:36px}.v3-editorial{grid-template-columns:40% 1fr}.v3-footer{padding:32px 24px}.v3-source-note{font-size:12px!important}.v3-public .v2-heading,.v3-public .v2-content{padding:32px 24px}.v3-public .domain-nav{padding:16px 24px}.v3-detail-grid{grid-template-columns:1fr}}
@media(max-width:520px){.v3-header-actions .account-link{font-size:11px}.v3-header-actions{gap:10px}.v3-header{gap:12px}.v3-companion{grid-template-columns:1fr;padding:20px}.v3-companion-top{grid-column:auto}.v3-conversation h2{font-size:23px}.v3-conversation>p{display:none}.v3-suggestions{display:flex;gap:8px}.v3-suggestions a{flex:1}.v3-compose{padding-top:0}.v3-compose textarea{min-height:42px}.v3-compose label{display:none}.v3-hero{padding:36px 24px;min-height:490px;align-items:flex-start}.v3-hero-copy{width:100%}.v3-hero h1{font-size:42px}.v3-hero p{max-width:280px;line-height:1.65;font-size:16px}.v3-hero-person{opacity:.2;width:65%;right:-15%;bottom:28px}.v3-hero .actions{flex-direction:column;align-items:flex-start;gap:10px}.v3-hero .btn{min-width:190px}.v3-card-grid.two{grid-template-columns:1fr}.v3-editorial{grid-template-columns:1fr}.v3-editorial img{max-height:300px;width:100%;object-position:top}.v3-gallery{padding:20px;gap:8px}.v3-gallery img{height:160px}.v3-page-intro h1{font-size:34px}.v3-filter{padding:18px;gap:12px}.v3-filter label{min-width:100px}.v3-filter .btn{width:100%;justify-content:center}.v3-property>a img{height:230px}.v3-results-head{align-items:start;flex-direction:column}.v3-footer{gap:24px}.v3-footer-bottom{gap:14px}.v3-footer-bottom span{width:100%}.v3-booking-card{padding:20px}.v3-enquiry .form-grid{grid-template-columns:1fr}.v3-access>div{padding:22px}}
.v3-knowledge-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.v3-knowledge-list article{border:1px solid #dbe5ec;border-radius:8px;padding:24px}.v3-knowledge-list article>span{font-size:11px;color:#648297}.v3-knowledge-list h3{font-size:19px;line-height:1.4;margin:12px 0}.v3-knowledge-list h3 a{display:flex;justify-content:space-between;gap:16px}.v3-knowledge-list p{font-size:14px;margin:0}.v3-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:32px;font-size:13px}.v3-pagination button:disabled{opacity:.4;cursor:default}.v3-article{max-width:900px}.v3-article h3{font-size:20px;line-height:1.5;margin-top:32px}.v3-category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.v3-category-tabs button{border:1px solid #c6d7e3;background:#fff;border-radius:7px;padding:12px 20px;font-size:14px;cursor:pointer}.v3-category-tabs .active{background:#113655;color:#fff}.v3-provider{padding:28px;border:1px solid #d2e0e9;border-radius:10px}.v3-provider-mark{height:44px;width:44px;background:#eaf2f7;display:grid;place-items:center;border-radius:50%;font-weight:600;font-size:22px}.v3-provider h2{font-size:25px;margin:16px 0}.v3-provider p{font-size:14px}.v3-provider-type{display:inline-block;background:#edf3f7;padding:5px 10px;font-size:12px;border-radius:4px}.v3-provider>.btn{display:flex;font-size:12px;min-height:44px;margin:20px 0}.v3-provider .text-link{font-size:12px}.v3-comparison-section{margin-top:48px}.v3-table-wrap{overflow-x:auto;border:1px solid #d4e0e8;border-radius:8px;margin:24px 0}.v3-compare-table{border-collapse:collapse;width:100%;font-size:13px}.v3-compare-table th,.v3-compare-table td{padding:18px;border-bottom:1px solid #dce6ec;text-align:left;min-width:170px;vertical-align:top}.v3-compare-table th{background:#edf4f8;font-weight:500}.v3-compare-table th:first-child{min-width:150px}.v3-compare-table a{text-decoration:underline}
@media(max-width:800px){.v3-knowledge-list{grid-template-columns:1fr 1fr}}@media(max-width:520px){.v3-knowledge-list{grid-template-columns:1fr}.v3-provider{padding:22px}.v3-category-tabs button{font-size:13px;flex:1}}
.v3-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d8e4ec;border-left:1px solid #d8e4ec;margin:24px 0}.v3-facts>div{padding:24px;border-right:1px solid #d8e4ec;border-bottom:1px solid #d8e4ec}.v3-facts dt{font-size:12px;color:#5a758a}.v3-facts dd{margin:12px 0 0;font-size:17px;font-weight:500}#v3-uni-search{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}#v3-uni-search label{min-width:0}#v3-uni-search label:first-child{grid-column:span 2}.v3-article .v3-note{margin-top:24px}@media(max-width:1000px){#v3-uni-search{grid-template-columns:1fr 1fr}}@media(max-width:520px){.v3-facts{grid-template-columns:1fr}#v3-uni-search{grid-template-columns:1fr 1fr}}
.v3-arrival-checks{display:grid;gap:16px}.v3-arrival-checks>label{display:flex;gap:16px;padding:22px;border:1px solid #d5e3ec;border-radius:8px;align-items:flex-start}.v3-arrival-checks input{width:20px;height:20px;accent-color:#113655;flex:none}.v3-arrival-checks b{font-size:16px}.v3-arrival-checks small{display:block;font-size:14px;color:#587184;margin-top:6px}
/* Shared STK typography contract. Editorial hierarchy is deliberate, never arbitrary. */
.v3-public{--type-h1:clamp(34px,3.7vw,50px);--type-h2:clamp(26px,2.7vw,36px);--type-h3:22px;--type-h4:17px;--type-body:16px;--type-lead:17px}
.v3-public h1,.v3-public h2,.v3-public h3,.v3-public h4{font-family:'Plus Jakarta Sans',Arial,sans-serif;color:var(--navy);text-wrap:balance}.v3-public h4{font-size:var(--type-h4);line-height:1.4;font-weight:600;letter-spacing:-.02em}.v3-public .page-heading h1,.v3-public .v2-heading h1{font-size:var(--type-h1);line-height:1.16;letter-spacing:-.045em}.v3-public .page-heading p,.v3-public .intro{font-size:var(--type-lead);line-height:1.7;max-width:65ch}.v3-public p{max-width:72ch}.v3-public p strong,.v3-public p b{font-weight:600;color:#113655}.v3-public .v3-hero h1{color:#fff}.v3-public .v3-footer h3{color:#fff}.v3-language-editions{padding:32px 40px;border-top:1px solid #d5e3ec;background:#f5f8fa}.v3-language-editions h3{font-size:20px;margin:0 0 10px}.v3-language-editions p{font-size:14px;color:#597285}.v3-language-editions>div,.v3-language-pills{display:flex;flex-wrap:wrap;gap:10px}.v3-language-editions a,.v3-language-pills a{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;background:white;border:1px solid #d2e0e9;border-radius:6px;padding:10px 14px;font-size:13px;min-height:44px}.v3-edition-text p{font-size:16px;line-height:1.8;max-width:68ch}.v3-edition-text h3{font-size:19px;margin-top:24px;line-height:1.4}.v3-source-bullet{padding-left:20px;border-left:3px solid #b3cde1}.v3-published-prices{background:#f5f8fa;padding:24px;border:1px solid #d9e4ed;border-radius:8px;margin:32px 0}.v3-timeline{display:grid;gap:0}.v3-timeline article{display:grid;grid-template-columns:60px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid #d8e4ec}.v3-timeline article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e6f0f6;color:#113655;font-size:17px;font-weight:600}.v3-timeline h3{font-size:22px;margin:0 0 8px}.v3-timeline p{font-size:15px;margin:0}.v3-video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.v3-video-grid button{width:100%;padding:0;border:0;background:#e3edf4;position:relative;border-radius:10px;overflow:hidden}.v3-video-grid img{width:100%;height:230px;object-fit:cover;display:block}.v3-video-grid h3{font-size:16px;line-height:1.4;margin-top:14px}.v3-video-placeholder{display:grid;place-items:center;height:230px;padding:24px;background:#113655;color:#fff;font-size:17px}.v3-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;color:#113655;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;box-shadow:0 3px 20px #0003}.v3-public :focus-visible{outline:3px solid #5b87ad;outline-offset:4px}
@media(max-width:1000px){.v3-video-grid{grid-template-columns:1fr 1fr}}@media(max-width:800px){.v3-layout>.page>.v3-breadcrumb{order:0}.v3-layout>.page>.v3-page-intro,.v3-layout>.page>.v3-hero,.v3-layout>.page>.page-heading,.v3-layout>.page>.v2-heading,.v3-layout>.page>.portal-top{order:1}.v3-language-editions{padding:28px 24px}}@media(max-width:520px){.v3-video-grid{grid-template-columns:1fr 1fr;gap:14px}.v3-video-grid img,.v3-video-placeholder{height:180px}.v3-video-grid h3{font-size:14px}.v3-timeline article{grid-template-columns:42px 1fr;gap:16px}.v3-timeline article>span{width:40px;height:40px}.v3-timeline h3{font-size:20px}}
.v3-booking-flow{border:1px solid #d6e3eb;border-radius:12px;padding:28px}.v3-booking-steps{display:flex;gap:20px;margin-bottom:32px;border-bottom:1px solid #d8e5ed;padding-bottom:24px}.v3-booking-steps>span{display:flex;align-items:center;gap:8px;font-size:12px;color:#667e90}.v3-booking-steps b{width:26px;height:26px;background:#edf3f7;display:grid;place-items:center;border-radius:50%;flex:none}.v3-booking-steps .current{color:#113655;font-weight:600}.v3-booking-steps .current b{background:#113655;color:white}.v3-booking-types{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.v3-booking-types label{padding:16px;display:flex;gap:10px;align-items:center;border:1px solid #d6e2ea;border-radius:8px;font-size:14px}.v3-booking-types input{accent-color:#113655}.v3-contact-strip{margin-top:28px;padding-top:24px;border-top:1px solid #d8e4ec;display:flex;flex-wrap:wrap;gap:14px 24px;font-size:13px}.v3-social-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px;font-size:12px}.v3-social-links a:last-child{margin-left:auto}@media(max-width:520px){.v3-booking-flow{padding:20px}.v3-booking-steps{gap:10px}.v3-booking-steps>span{font-size:10px;flex-direction:column;align-items:flex-start}.v3-booking-types{grid-template-columns:1fr}.v3-social-links a:last-child{margin-left:0;width:100%}}
.v3-editorial-fact{display:grid;grid-template-columns:minmax(120px,1fr) 1.6fr;gap:16px;margin:0;padding:18px 0;border-bottom:1px solid #d9e5ec}.v3-editorial-fact dt{font-size:14px;font-weight:500}.v3-editorial-fact dd{font-size:16px;margin:0}.v3-edition-text .v3-editorial-heading{font-size:24px;line-height:1.35;margin:32px 0 20px;letter-spacing:-.7px}@media(max-width:520px){.v3-editorial-fact{grid-template-columns:1fr;gap:6px}}
@media(max-width:800px){.v3-public .v3-note{display:block}.v3-companion .v3-note{margin-top:16px;font-size:13px}}

/* Full available width for website and all role views; only prose is bounded. */
.v3-layout,.layout{width:100%;max-width:none;margin:0}.page,.dashboard,.v2-content{min-width:0}.review-panel{margin:24px 32px;padding:28px;border:1px solid #cfdee8;border-radius:12px;background:#fff;color:#113655}.review-panel p{max-width:72ch}.review-notice{font-size:14px;line-height:1.6;color:#506879}.review-status{padding:16px;background:#edf3f7;border-left:4px solid #5b87ad;font-weight:600}.review-columns{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:32px}.review-columns>div{min-width:0}.review-document{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-bottom:1px solid #d9e5ec;flex-wrap:wrap}.review-document>div,.review-document .field{flex:1 1 220px;min-width:0}.review-document h3{font-size:18px;margin:0}.review-document p{margin:8px 0}.review-document select,.review-panel textarea{width:100%;max-width:100%;box-sizing:border-box}.review-panel .btn{min-height:48px;white-space:normal}.review-panel summary{min-height:48px;padding:12px 0;cursor:pointer}.review-panel :focus-visible,.review-panel [tabindex="-1"]:focus{outline:3px solid #5b87ad;outline-offset:4px}.review-panel .actions{flex-wrap:wrap}.review-panel a,.review-panel p,.review-log{overflow-wrap:anywhere}.review-log{padding-left:20px}.review-log li{padding:8px 0}.review-panel button:disabled{opacity:.5;cursor:not-allowed}#review-error{color:#9e3030}.v3-header-actions .btn,.v3-header-actions button,.portal-nav a,.btn{min-height:48px}.v3-layout>.page{overflow:visible}
@media(max-width:1100px){.review-columns{grid-template-columns:1fr}}@media(max-width:600px){.review-panel{margin:16px;padding:20px}.review-document{gap:12px}.review-panel .actions>*{width:100%}}
.review-panel select,.review-panel input{min-height:48px}.review-panel textarea{min-height:120px}.dashboard>.review-panel{margin-left:0;margin-right:0}
/* Participant / teacher task journey: full-width work areas, readable text. */
.learning-journey{color:#113655}.learning-journey>h1{max-width:24ch}.learning-panel,.learning-task{border:1px solid #d0dfe9;border-radius:12px;background:#fff;padding:28px;margin:24px 0;min-width:0}.learning-panel h2,.learning-task h2{font-size:26px;margin:0 0 18px;line-height:1.3}.learning-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.learning-columns>.learning-panel{margin-top:0}.learning-notice,.learning-source{font-size:14px;color:#526c80;max-width:72ch}.learning-preserve{white-space:pre-wrap;overflow-wrap:anywhere;max-width:70ch}.learning-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;background:#edf3f7;padding:20px;border-radius:8px}.learning-facts dt{font-size:13px;color:#526c80}.learning-facts dd{margin:8px 0 0;font-weight:600;overflow-wrap:anywhere}.learning-journey .field{margin:18px 0}.learning-journey input,.learning-journey select,.learning-journey button{min-height:48px}.learning-journey textarea{min-height:150px}.learning-journey input,.learning-journey textarea,.learning-journey select{width:100%;max-width:100%;box-sizing:border-box}.learning-journey .btn{white-space:normal}.learning-response{border-left:3px solid #5b87ad;padding:8px 0 8px 18px;margin:20px 0}.learning-response h3{font-size:18px}.learning-history summary{padding:14px 0;min-height:48px;cursor:pointer}.learning-history li{padding:8px 0}.learning-empty{padding:20px;background:#f3f7fa;border-radius:8px}.learning-status{padding:16px;background:#e5f0f4;border-radius:8px}.learning-journey :focus-visible,.learning-journey [tabindex="-1"]:focus{outline:3px solid #5b87ad;outline-offset:4px}#learning-error{color:#982d2d}.learning-journey .actions{flex-wrap:wrap}.learning-panel p,.learning-task p{max-width:72ch}.learning-panel{overflow-wrap:anywhere}@media(max-width:1100px){.learning-columns{grid-template-columns:1fr}}@media(max-width:600px){.learning-panel,.learning-task{padding:20px}.learning-facts{grid-template-columns:1fr;gap:16px}.learning-journey .btn{width:100%}.learning-panel h2,.learning-task h2{font-size:23px}}
/* Attendance reports retain the same fluid role workspace. */
.attendance-counts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.attendance-counts dt{font-size:14px}.attendance-counts dd{font-size:28px;margin:8px 0 0;font-weight:600}.attendance-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0}.attendance-record{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;border:1px solid #cfdee8;border-radius:10px;background:white;color:#113655;padding:22px;min-width:0;overflow-wrap:anywhere;font:inherit}.attendance-record.selected{border:2px solid #315d80;background:#edf3f7;padding:21px}.attendance-record small{font-size:13px;color:#536b7d}.attendance-check{display:flex;gap:12px;align-items:center;min-height:48px;margin:20px 0}.learning-journey .attendance-check input{width:22px;min-height:22px;height:22px;flex:none}.attendance-journey details>summary{min-height:48px;padding:12px 0;cursor:pointer}.attendance-journey details li{margin:16px 0}.attendance-journey button:disabled{opacity:.5;cursor:not-allowed}.attendance-journey textarea:disabled{background:#f3f7fa}.attendance-extract{border-bottom:1px solid #d2e1eb;padding:18px 0}#attendance-error{color:#982d2d}.attendance-journey .actions>*{max-width:100%}.attendance-journey h1{max-width:24ch}@media(max-width:1100px){.attendance-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.attendance-records{grid-template-columns:1fr}.attendance-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared case / task / calendar workspace. */
.case-journey{min-width:0}.case-journey .portal-nav{margin:24px 0;flex-wrap:wrap}.case-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.case-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.case-card{display:flex;flex-direction:column;gap:8px;text-align:left;border:1px solid var(--line,#d8e1e7);border-radius:8px;background:white;color:var(--navy,#113655);padding:18px;font:inherit;min-height:72px;overflow-wrap:anywhere;cursor:pointer}.case-card[aria-pressed=true]{border:2px solid #113655;background:#f0f5f9}.case-card span{font-size:14px}.case-message{border-top:1px solid #dce4ea;padding:18px 0;overflow-wrap:anywhere}.case-message small{display:block;margin-top:6px}.case-journey button,.case-journey select,.case-journey summary,.case-journey .portal-nav a{min-height:48px}.case-journey summary{padding:14px 0;cursor:pointer}.case-journey .field textarea{min-height:110px}.case-journey .case-role{max-width:500px}.case-history{margin:24px 0}.case-history li{padding:12px 0;overflow-wrap:anywhere}.case-journey .actions{flex-wrap:wrap}.case-journey input,.case-journey select,.case-journey textarea{max-width:100%;min-width:0}.case-journey :focus-visible{outline:3px solid #266b9f;outline-offset:3px}@media(max-width:640px){.case-fields{grid-template-columns:1fr}.case-journey .actions>.btn{width:100%}}
/* Reproduced at 320px: internal header selector forced actions outside the viewport. */
@media(max-width:480px){.header{height:auto;min-height:80px;flex-wrap:wrap;gap:12px;padding:12px 16px}.header .brand{order:0}.header .header-actions{order:1;margin-left:auto;min-width:0}.header>label{order:2;flex:1 1 100%;min-width:0}.header .brand-selector{width:100%;max-width:none;min-height:48px}.header .system-nav{display:none}.header .lang,.header .btn{min-height:48px}.header .lang{min-width:48px}}
/* Appointment reuse of the shared task/case workspace. */
.meeting-journey{min-width:0}.meeting-journey .portal-nav{flex-wrap:wrap;margin:20px 0}.meeting-slot-editor,.meeting-booking{margin:24px 0;padding:20px 0;border-top:1px solid #dce4ea}.meeting-journey button,.meeting-journey select,.meeting-journey input:not([type=checkbox]),.meeting-journey summary{min-height:48px}.meeting-journey input,.meeting-journey select,.meeting-journey textarea{min-width:0;max-width:100%;box-sizing:border-box}.meeting-journey textarea{min-height:100px}.meeting-journey .actions{flex-wrap:wrap}.meeting-journey details{margin:20px 0}.meeting-journey summary{padding:12px 0;cursor:pointer}.meeting-journey li{overflow-wrap:anywhere;padding:10px 0}.meeting-journey :focus-visible{outline:3px solid #266b9f;outline-offset:3px}.meeting-journey .meeting-context{overflow-wrap:anywhere}.meeting-journey .btn{white-space:normal}@media(max-width:640px){.meeting-journey .btn{width:100%}.meeting-journey .learning-panel{padding:16px}}
/* Shared move-in, issue and move-out views. */
.rental-journey{min-width:0}.rental-journey .portal-nav{flex-wrap:wrap;margin:22px 0}.rental-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.rental-comparison>*{min-width:0}.rental-journey p,.rental-journey li{overflow-wrap:anywhere}.rental-journey button,.rental-journey select,.rental-journey input:not([type=checkbox]),.rental-journey summary{min-height:48px}.rental-journey input,.rental-journey select,.rental-journey textarea{min-width:0;max-width:100%;box-sizing:border-box}.rental-journey textarea{min-height:110px}.rental-journey details{margin:20px 0}.rental-journey summary{padding:12px 0;cursor:pointer}.rental-journey .btn{white-space:normal}.rental-journey :focus-visible{outline:3px solid #266b9f;outline-offset:3px}@media(max-width:640px){.rental-comparison{grid-template-columns:1fr}.rental-journey .btn{width:100%}.rental-journey .learning-panel{padding:16px}}

/* Fluid page shell, bounded media: wide monitors must not crop faces into strips. */
.v3-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
.v3-hero-copy{width:100%;max-width:72ch}
.v3-hero-person{position:static;width:100%;max-width:560px;height:auto;max-height:500px;object-fit:contain;justify-self:center;opacity:1}
.v3-editorial{grid-template-columns:minmax(0,350px) minmax(0,1fr)}
.v3-editorial>img{width:100%;height:auto;aspect-ratio:1;max-height:none;object-fit:contain}
.v3-card img{height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
@media(min-width:1800px){.v3-card-grid.two .v3-card:has(>img){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}.v3-card-grid.two .v3-card img{height:100%;min-height:280px;max-height:480px;aspect-ratio:auto;object-fit:cover}.v3-hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-block:48px}.v3-hero-person{max-height:500px}.v3-hero-copy{justify-self:start}}
@media(max-width:1190px){.v3-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px}.v3-hero-copy{width:100%}.v3-hero-person{width:100%;max-height:360px}}
@media(max-width:1000px){.v3-hero{grid-template-columns:1fr}.v3-hero-person{width:min(100%,360px);max-height:300px;justify-self:center}.v3-hero-copy{width:100%}.v3-editorial{grid-template-columns:minmax(0,280px) minmax(0,1fr)}}
@media(max-width:520px){.v3-hero-person{width:min(100%,280px);max-height:250px;opacity:1}.v3-hero-copy{width:100%}.v3-editorial{grid-template-columns:1fr}.v3-editorial>img{max-width:300px;height:auto;max-height:none;justify-self:start}}
/* Preserve entire original photos across mixed portrait/landscape source assets. */
.v3-card img,.v3-card-grid.two .v3-card img{object-fit:contain;background:#edf3f7}
.v3-property>a img,.v3-gallery img,.v3-video-grid img{height:auto;aspect-ratio:4/3;max-height:420px;object-fit:contain;display:block;background:#edf3f7}
.v3-gallery button{min-width:0;background:#edf3f7;border-radius:8px}
.v3-wide-photo{height:auto;max-height:480px;object-fit:contain;background:#edf3f7}
@media(min-width:1800px){.v3-card-grid.two:has(>.v3-property){grid-template-columns:repeat(3,minmax(0,1fr))}.v3-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}
.v3-detail-grid>*{min-width:0}.v3-video-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v3-video-grid>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){.v3-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.v3-video-grid{grid-template-columns:1fr}.v3-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
.v3-companion>*{min-width:0}.v3-suggestions a{min-width:0;overflow-wrap:anywhere}
@media(max-width:520px){.v3-companion{grid-template-columns:minmax(0,1fr)}.v3-suggestions{flex-wrap:wrap}.v3-suggestions a{flex:1 1 90px}}
