/* Phone layout: desktop rules and the source assets remain intact. */
@media(max-width:760px), (max-width:1000px) and (max-height:520px) and (pointer:coarse){
 :root{--gutter:clamp(20px,5.6vw,32px)}
 html{scroll-padding-top:82px}
 body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .site-header{height:78px;padding-inline:var(--gutter);gap:16px}
 .site-header.scrolled{height:68px;backdrop-filter:blur(10px)}
 .desktop-nav,.header-enquiry{display:none}
 .header-actions{gap:14px}
 .wordmark{font-size:26px}
 .wordmark span{font-size:6px}
 .menu-toggle{width:48px;height:48px}
 .section-pad{padding:64px var(--gutter)}
 .section-kicker{font-size:9px;margin-bottom:30px;letter-spacing:.1em}
 .body-copy,.architecture-intro .body-copy,.details .body-copy{font-size:14px;line-height:1.75;max-width:38em}
 .text-link,.round-link{min-height:44px;font-size:12px}
 .button{min-height:52px}
 .hero{height:1060px;min-height:0;max-height:none;padding-top:0}
 .hero .hero-eyebrow{left:var(--gutter);top:96px;max-width:75%;z-index:3}
 .hero .hero-eyebrow .eyebrow{font-size:13px;line-height:1.3;max-width:270px}
 .hero .hero-photo{left:28%;right:20px;top:154px;width:auto;height:640px}
 .hero .sales-title{top:236px;left:16px;right:17px;--sales-photo-left:calc(28% - 6.76px);--sales-photo-right:calc(100% - 3px)}
 .hero .sales-price{top:max(320px,calc(262px + (100vw - 33px)*.12805));left:var(--gutter);width:calc(28% - var(--gutter) - 8px);font-size:clamp(31px,9.4vw,48px);line-height:1.1}
 .hero .sales-price-from{font-size:.55em}
 .hero .sales-price-value{font-size:1.38em}
 .hero .sales-price-unit{font-size:.57em}
 .hero-photo>.hero-explore.circle-button{top:16px;right:16px;width:56px;height:56px;font-size:28px}
 .hero .katuna-hero-form{left:14px;right:14px;bottom:8px}
 .hero .katuna-hero-form .khf-fields{grid-template-columns:minmax(0,1fr);gap:14px}
 .hero .katuna-hero-form .khf-heading{height:22px;gap:7px;margin-bottom:6px}
 .hero .katuna-hero-form .khf-caption{font-size:10px;letter-spacing:.1em}
 .hero .katuna-hero-form .khf-number{width:22px;height:22px;flex-basis:22px;font-size:11px}
 .hero .katuna-hero-form .khf-field input{height:48px;font-size:16px;padding:0 16px}
 .hero .katuna-hero-form .khf-action{display:block;margin-top:16px}
 .hero .katuna-hero-form .khf-action-tail{display:none}
 .hero .katuna-hero-form .khf-submit{height:54px;padding:8px 35px 8px 10px}
 .hero .katuna-hero-form .khf-submit>span{font-size:11px;letter-spacing:.04em;line-height:1.35;white-space:normal}
 .hero .katuna-hero-form .khf-arrow{right:12px;width:18px;min-width:18px}
 .hero .katuna-hero-form .khf-consent{gap:8px;margin-top:14px;font-size:10px;line-height:1.55}
 .hero .katuna-hero-form .khf-consent>input{width:18px;height:18px;flex-basis:18px}
 .hero .katuna-hero-form .khf-consent>input:checked::after{left:5px;top:2px}
 .hero .katuna-hero-form .khf-status{font-size:11px}
 .hero .hero-caption.sales-caption{top:822px;left:var(--gutter);right:var(--gutter);max-width:none;display:block}
 .hero .sales-caption .serif{font-size:clamp(25px,7vw,32px);line-height:1.12;white-space:normal}
 .hero .sales-caption .eyebrow,.hero-edition{display:none}
 .hero .hero-bottom{bottom:20px;left:var(--gutter);right:var(--gutter)}
 .scroll-cue{min-height:48px;font-size:11px;gap:16px}
 .scroll-cue .circle-button{width:44px;height:44px}
 #architecture{padding-top:42px}
 #architecture-title{font-size:clamp(40px,12.9vw,68px)}
 .architecture-top{display:flex;flex-direction:column}
 .architecture-intro{width:100%;padding:0}
 .architecture-intro .body-copy{margin:24px 0 12px}
 .architecture-wide{width:100%;height:auto;aspect-ratio:1.28;margin-top:24px}
 .architecture-bottom{display:flex;flex-direction:column;align-items:stretch;margin-top:-24px}
 .architecture-detail{width:88%;height:auto;aspect-ratio:1.12;margin-left:-6px;border-width:6px}
 .architecture-notes{padding:30px 0 0}
 .architecture-notes>.eyebrow{font-size:10px;line-height:1.6}
 .feature-row{min-height:96px;padding:22px 0;gap:16px}
 .feature-row strong{font-size:clamp(28px,8vw,38px);line-height:1.05}
 .feature-row>span{font-size:11px}
 .atelier{margin-inline:0;scroll-margin-top:68px}
 .atelier-top{display:block;height:auto}
 .atelier-intro{padding:40px var(--gutter) 28px;border:0}
 .atelier-eyebrow{font-size:11px;line-height:1.5}
 .atelier h2{font-size:clamp(34px,9.7vw,50px);margin:18px 0 16px}
 .atelier-lead{font-size:18px;line-height:1.45}
 .atelier-list{margin-top:24px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,168px)}
 .atelier-item{height:168px;border-radius:10px}
 .atelier-number{top:12px;left:12px;font-size:30px}
 .atelier-item img{left:43%;top:9px;width:50%;height:98px;opacity:1}
 .atelier-type{top:115px;left:12px;font-size:15px}
 .atelier-from{top:141px;left:12px;font-size:13px}
 .atelier-item-arrow{right:10px;top:130px;width:28px;height:28px}
 .atelier-stage{height:clamp(540px,155vw,680px)}
 .atelier-stage-heading{top:24px;left:var(--gutter);width:calc(100% - var(--gutter)*2)}
 .atelier-stage-heading h3{font-size:23px;line-height:1.3}
 .atelier-stage-heading>span{margin-top:12px}
 .atelier-variants{top:84px;left:var(--gutter);width:calc(100% - var(--gutter)*2 - 64px);height:48px}
 .atelier-variants button{font-size:16px;min-height:46px}
 .atelier-flip{top:84px;right:var(--gutter);width:44px;height:48px}
 .atelier-plan{left:var(--gutter);right:var(--gutter);top:155px;bottom:26px;width:auto;height:auto}
 .atelier-details{padding:32px var(--gutter) 26px;min-height:0}
 .atelier-details h3{font-size:clamp(30px,9.4vw,44px);white-space:normal;line-height:1.15}
 .atelier-area{font-size:42px;margin-top:12px;padding-bottom:20px}
 .atelier-features{margin:22px 0 0;gap:17px}
 .atelier-features li{font-size:16px;line-height:1.4;white-space:normal;gap:17px}
 .atelier-features img,.atelier-features svg{width:26px;height:26px}
 .atelier-location{position:static;height:108px;margin-top:24px;gap:24px}
 .atelier-location>img:first-child{width:55%;max-width:190px;height:100px}
 .atelier-location .atelier-compass{width:82px;height:85px;margin-right:8px}
 .atelier-view{position:static;display:flex;align-items:center;gap:14px;font-size:16px;line-height:1.5;margin-top:18px}
 .atelier-view>span:first-child{position:static;font-size:30px;width:28px;flex:none}
 .atelier-consult{position:relative;top:auto;left:auto;right:auto;width:100%;height:56px;margin-top:26px;font-size:16px;padding-right:48px}
 .atelier-consult>span{right:20px}
 .atelier-pdf{position:static;min-height:48px;gap:18px;font-size:16px;margin-top:16px}
 .atelier-life{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:270px;gap:0;overscroll-behavior-x:contain;scroll-padding-inline:0}
 .atelier-photo,.atelier-photo-garden{flex:0 0 min(78vw,360px);min-width:0;scroll-snap-align:start}
 .atelier-photo-label{left:18px;right:18px;bottom:20px;font-size:18px}
 .details h2{font-size:clamp(45px,13vw,68px)}
 .details-layout{display:block}
 .details-copy{padding:0}
 .material-tabs{max-width:none}
 .material-tabs button{min-width:64px;min-height:48px;font-size:12px}
 .material-info p{font-size:13px}
 .material-info{margin-bottom:30px}
 .detail-images{gap:12px}
 .detail-facade{height:clamp(270px,78vw,430px);margin-top:30px}
 .detail-interior{height:clamp(310px,93vw,490px)}
 .image-action{font-size:11px;line-height:1.4;left:12px;right:12px;bottom:14px}
 #purchase.finance{display:block;min-height:0}
 #purchase .finance-intro{height:320px}
 #purchase .finance-intro-copy{padding:44px var(--gutter) 0 25%}
 #purchase.finance #calculator-title{font-size:clamp(32px,8.5vw,49px);line-height:1.05}
 #purchase .finance-intro p{font-size:13px;line-height:1.6;white-space:normal;margin-top:20px}
 #purchase .finance-art{background-size:cover;background-position:23% 60%}
 #purchase .finance-workspace{padding:30px var(--gutter) 24px}
 #purchase .calc-tabs{height:50px;margin-bottom:26px}
 #purchase .calc-tabs button{flex:1;min-height:48px;padding:0 6px 14px;font-size:18px}
 #purchase .finance-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;margin:0 0 22px}
 #purchase .finance-control{border:0;padding:0}
 #purchase .finance-control label{font-size:13px;line-height:1.4;min-height:0;margin:0 0 8px;white-space:normal;max-width:75%}
 #purchase .finance-input-line{font-size:29px;line-height:1.25;min-height:38px}
 #purchase .finance-input-line input,#purchase .finance-input-line>span{font-size:inherit}
 #purchase .finance-track{width:100%;height:44px;min-height:44px;max-height:none;margin:6px 0 0}
 #purchase.finance #price-range,#purchase.finance #down-range,#purchase.finance #term-range{inset:0;width:100%;height:44px;writing-mode:horizontal-tb;direction:ltr;cursor:ew-resize;touch-action:pan-y}
 #purchase .finance-rail{left:10px;right:10px;top:22px;bottom:auto;width:auto;height:2px}
 #purchase .finance-rail i{left:0;top:0!important;height:2px!important;width:calc(var(--progress)*100%)}
 #purchase .finance-rail b{left:calc(var(--progress)*100%);top:50%!important;width:18px;height:18px;transform:translate(-50%,-50%)}
 #purchase.finance #down-percent{top:-66px;left:auto;right:0;transform:none;font-size:13px;line-height:1.4}
 #purchase #finance-error{position:relative;max-width:none;margin:0 0 12px;font-size:12px;line-height:1.5}
 #purchase #finance-error:empty{display:none}
 #purchase .finance-chart{margin-left:0;padding-bottom:10px}
 #purchase .finance-chart-heading{flex-wrap:wrap;gap:4px 14px;font-size:11px;line-height:1.4;margin-bottom:12px}
 #purchase #finance-grid text{font-size:29px}
 #purchase #finance-grid text.finance-axis-detail{font-size:22px;transform:translateY(6px)}
 #purchase .finance-result-wrap{padding:0 var(--gutter) 32px}
 #purchase .finance-result{display:flex;padding:26px 22px;gap:0}
 #purchase .finance-payment-label{font-size:12px}
 #purchase #monthly{font-size:clamp(48px,15vw,78px);margin:16px 0 30px}
 #purchase .finance-rate-row,#purchase .finance-principal{font-size:13px;line-height:1.5}
 #purchase .finance-principal{margin:18px 0 26px}
 #purchase .finance-principal strong{font-size:20px}
 #purchase .finance-actions{gap:10px;margin:0}
 #purchase #save-calculation{font-size:14px;min-height:54px;padding:12px 16px;gap:12px}
 #purchase #finance-enquiry{width:54px;min-width:54px;min-height:54px}
 .contact{display:block;padding:64px var(--gutter);min-height:0}
 .contact-copy h2{font-size:clamp(48px,13vw,72px);line-height:.98;margin:26px 0}
 .contact-copy .eyebrow{font-size:9px}
 .contact-copy>p{font-size:13px}
 .contact-form{width:100%;max-width:none;padding:32px 24px;margin-top:36px}
 .contact-form h3{font-size:clamp(34px,10vw,48px);line-height:1.04}
 .floating-field input{font-size:16px;min-height:60px}
 .floating-field>span{font-size:12px}
 .consent{font-size:11px;line-height:1.65;gap:10px;min-height:44px}
 .consent input{width:20px;height:20px;flex-basis:20px;margin-top:2px}
 .consent input:checked:before{left:4px;top:-1px}
 .contact-form>.button{font-size:12px;min-height:56px;padding:16px}
 .contact-form>.fine-print{font-size:10px}
 .site-footer{padding-top:48px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
 .footer-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:28px}
 .footer-top>p{font-size:24px;line-height:1.15;margin-left:auto}
 .footer-top>.round-link{font-size:12px;width:100%}
 .site-footer nav{gap:8px 22px;margin:28px 0;font-size:11px}
 .site-footer nav a,.site-footer nav button{min-height:44px;display:inline-flex;align-items:center;font-size:11px}
 .footer-sign{font-size:23vw;margin:32px 0}
 .footer-legal .footer-disclaimer{font-size:11px;line-height:1.7}
 .footer-disclaimer .footer-policy-link{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-size:12px}
 .modal{max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);overscroll-behavior:contain}
 .modal-close{width:44px;height:44px;top:10px;right:10px}
 .menu-modal{padding:64px 24px 30px;width:calc(100vw - 24px)}
 .menu-modal nav{margin:22px 0}
 .menu-modal nav a{font-size:clamp(32px,9vw,44px);min-height:56px;padding:12px 0}
 .gallery-image{height:clamp(230px,52svh,560px)}
 .gallery-bottom{padding:22px;align-items:center;flex-wrap:wrap}
 .gallery-bottom h3{font-size:32px;max-width:100%}
 .gallery-controls .circle-button{width:48px;height:48px}
 .editorial-modal{padding:64px 24px 28px}
 .editorial-modal h2{font-size:clamp(36px,10.2vw,52px);line-height:1.04}
 .editorial-modal>p{font-size:14px;line-height:1.7}
 .editorial-modal>img{height:auto;aspect-ratio:1.35}
 #enquiry-dialog[open]{display:flex;flex-direction:column;width:calc(100vw - 24px);background:var(--paper-light)}
 #enquiry-dialog>.modal-close{position:sticky;top:10px;right:auto;align-self:flex-end;flex:none;order:0;margin:10px 10px -54px 0;z-index:8;background:var(--paper-light)}
 #enquiry-dialog form{order:1;padding:56px 24px 28px;min-width:0}
 #enquiry-dialog h2{font-size:clamp(36px,10.2vw,50px);line-height:1.04;margin:20px 0}
 #enquiry-dialog form>.eyebrow{font-size:9px;padding-right:24px}
 #enquiry-dialog form>p{font-size:13px;line-height:1.6}
 #enquiry-dialog #enquiry-context{margin:0 0 24px}
 #enquiry-dialog .enquiry-contact-methods legend{font-size:13px}
 #enquiry-dialog .enquiry-contact-options{gap:2px 16px}
 #enquiry-dialog .enquiry-contact-options label{font-size:13px;min-height:44px}
 #enquiry-dialog .enquiry-contact-options input{width:21px;height:21px}
 #enquiry-dialog .enquiry-contact-options input:checked::after{left:6px;top:2px}
 #enquiry-dialog form>.button{width:100%;min-height:56px;font-size:12px;padding:16px}
 #enquiry-dialog form>.fine-print{font-size:10px}
 #enquiry-dialog .enquiry-photo.universal-plan{order:2;height:auto;min-height:0;flex:none;aspect-ratio:1/1.414;margin:0}
 #enquiry-dialog .enquiry-photo.universal-plan>img{padding:16px 12px 48px}
 #enquiry-dialog .enquiry-photo.universal-plan>.eyebrow{font-size:9px;line-height:1.5}
 #privacy-dialog .privacy-head .modal-close{width:44px;height:44px;top:8px;right:-8px}
 #privacy-dialog .privacy-head h2{max-width:calc(100% - 38px)}
 #privacy-dialog .privacy-body{font-size:14px}
 #privacy-dialog .privacy-controls .button{min-height:48px;font-size:11px}
 .success-modal{padding:64px 24px 30px}
 .success-modal h2{font-size:clamp(38px,11vw,58px)}
 .success-modal p{font-size:13px}
 .toast{max-width:calc(100vw - 32px);font-size:12px;line-height:1.4;bottom:max(18px,env(safe-area-inset-bottom))}
}
@media(min-width:600px) and (max-width:760px){
 .hero .hero-photo{left:35%}
 .hero .sales-title{--sales-photo-left:calc(35% - 4.45px)}
 .hero .katuna-hero-form .khf-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .hero .hero-caption.sales-caption{left:35%;max-width:60%}
}
@media(hover:none) and (pointer:coarse){
 .photo img,.immersive-media{--parallax:0px!important}
 .photo:hover img{transform:none}
 .cursor-aura{display:none}
}
