@font-face{font-family:Inter;src:url('/assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--ink:#303438;--muted:#737980;--line:#dfe3e8;--mint:#c4eeea;--teal:#075c59;--soft:#f1f8f7;--white:#fff}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #18998d;outline-offset:4px}.header{border-bottom:1px solid #edf0f1}.header-inner{max-width:1440px;margin:auto;padding:22px 48px;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:38px;font-weight:800;letter-spacing:-2px;line-height:1}.brand-dot{color:#159187}.header nav{display:flex;align-items:center;gap:32px}.nav-link{background:none;border:0;font-size:14px;font-weight:600;padding:10px 0}.nav-link span{margin-left:8px;color:var(--teal)}.login-button{display:flex;gap:9px;align-items:center;padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:white;font-size:14px;font-weight:600}.login-button:hover{background:var(--soft)}main{max-width:1440px;margin:auto;padding:0 48px}.intro{position:relative;overflow:hidden;padding:56px 0 45px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;color:var(--teal);display:flex;align-items:center;gap:9px}.small-wave{font-size:26px;line-height:1;letter-spacing:0}.intro h1{font-size:54px;letter-spacing:-2.2px;line-height:1.12;margin:19px 0 18px;font-weight:750}.intro h1 span{color:var(--teal)}.intro p{color:var(--muted);margin:0;line-height:1.7;font-size:16px}.intro-note{display:flex;align-items:center;gap:8px;margin-top:23px;font-size:12px;color:#66706e;font-weight:500}.note-dot{width:6px;height:6px;flex-shrink:0;background:#258e80;border-radius:50%;display:inline-block}.ocean-lines{position:absolute;width:460px;right:15px;top:70px;color:#d0e9e5;transform:rotate(-8deg);pointer-events:none}.section-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.section-top h2{font-size:30px;letter-spacing:-.8px;line-height:1.2;margin:0 0 8px;font-weight:750}.section-top p{font-size:14px;margin:0;color:var(--muted)}.view-label{font-size:11px;font-weight:650;letter-spacing:1.4px;display:flex;align-items:center;gap:8px;color:var(--muted)}.filters{display:flex;gap:12px;margin-bottom:28px}.search{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:0 16px;flex:1;color:var(--muted);background:#fff;min-width:0}.search input{padding:13px 0;border:0;outline:none;width:100%;min-width:0;font-size:14px;color:var(--ink);background:transparent}.search:focus-within{border-color:var(--teal);box-shadow:0 0 0 2px var(--mint)}.select-wrap{min-width:180px}select{padding:13px 36px 13px 14px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);width:100%;font-size:14px;cursor:pointer}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:white;transition:transform .2s,box-shadow .2s;min-width:0;position:relative}.card:hover{transform:translateY(-4px);box-shadow:0 10px 25px #163c3a0d}.cover-link{display:block;position:relative;height:176px;padding:0;border:0;background:#e2ecea;width:100%;overflow:hidden}.cover-link img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.card:hover .cover-link img{transform:scale(1.04)}.cover-link:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 50%,#001a2224)}.image-label{position:absolute;top:12px;right:12px;background:#ffffffec;padding:4px 8px;border-radius:6px;color:#55635f;font-size:10px;z-index:1}.card-main{padding:0 19px 17px;position:relative;flex:1}.count-badge{position:relative;display:inline-block;top:-14px;background:var(--ink);color:white;font-size:12px;font-weight:700;line-height:1.6;padding:4px 8px;border-radius:5px;margin-bottom:-4px}.card h3{font-size:19px;line-height:1.3;letter-spacing:-.5px;margin:0 0 5px;font-weight:750}.title-button{font:inherit;letter-spacing:inherit;font-weight:inherit;padding:0;text-align:left;border:0;background:none}.location{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px;margin:0 0 16px}.location svg{flex-shrink:0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;margin:0}.metric{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;color:#666d74}.metric dd{margin:0;color:var(--ink);font-weight:700}.metric dt{display:flex;align-items:center;gap:6px}.metric-symbol{font-size:16px;color:#8d9698;width:14px;text-align:center}.card-bottom{border-top:1px solid var(--line);padding:15px 19px 19px;display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative}.imo-label{font-size:11px;color:var(--muted);display:block;margin-bottom:2px}.imo-value{display:flex;align-items:baseline;gap:4px;font-size:25px;font-weight:750;letter-spacing:-.9px}.imo-value span{font-size:12px;font-weight:500;letter-spacing:0;color:var(--muted)}.status-badge{position:absolute;top:-12px;left:19px;background:var(--mint);color:var(--teal);padding:3px 7px;border-radius:5px;font-size:11px;line-height:1.5;font-weight:700}.gallery-link{display:flex;align-items:center;gap:6px;background:none;border:0;padding:9px 0;font-size:12px;font-weight:600;color:var(--teal)}.gallery-link span{font-size:19px}.method-note{display:flex;align-items:center;gap:14px;margin:34px 0 45px;background:#f6f8f8;padding:18px 22px;border-radius:12px}.info-icon{width:21px;height:21px;border:1px solid #94a3a0;border-radius:50%;color:#6b7976;display:grid;place-items:center;font-size:12px;flex-shrink:0;font-family:Georgia,serif;font-weight:bold}.method-note p{font-size:12px;color:#6b7477;line-height:1.7;margin:0;flex:1}.method-note strong{font-weight:600}.method-note button{background:none;border:0;color:var(--teal);font-size:12px;font-weight:600;white-space:nowrap}footer{border-top:1px solid #edf0f1;max-width:1344px;margin:auto;padding:28px 0 35px;display:flex;align-items:center;gap:24px}.footer-brand{font-size:27px;letter-spacing:-1.4px;gap:7px}footer p,footer>span{font-size:12px;color:#8c9297}footer>span{margin-left:auto}.empty,.loading{grid-column:1/-1;background:var(--soft);padding:40px 24px;border-radius:18px;text-align:center;color:var(--muted)}.empty h3{color:var(--ink);margin:0 0 8px}.empty button{margin-top:14px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{border:0;padding:24px 28px 28px;border-radius:24px;max-width:720px;width:calc(100% - 32px);max-height:90dvh;color:var(--ink);box-shadow:0 24px 90px #05242240}dialog::backdrop{background:#07282470;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.close{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:white;font-size:26px;line-height:1}.dialog-top .eyebrow{font-size:11px}dialog h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:0 0 10px}dialog p{color:var(--muted);font-size:14px;line-height:1.7}.form{display:flex;flex-direction:column;gap:16px;margin-top:24px}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.field input,.field textarea{border:1px solid var(--line);border-radius:9px;padding:12px;font-size:16px;background:white;color:var(--ink);width:100%}.field textarea{resize:vertical;min-height:90px}.primary,.secondary{padding:12px 18px;border-radius:9px;font-size:14px;font-weight:650;display:inline-flex;justify-content:center;align-items:center;gap:8px}.primary{border:1px solid var(--teal);background:var(--teal);color:white}.primary:hover{background:#084c49}.secondary{border:1px solid var(--line);background:white;color:var(--ink)}button:disabled{opacity:.55;cursor:wait}.error{color:#a63939;font-size:14px;margin:0}.inline-note{background:var(--soft);padding:15px 18px;border-radius:10px;font-size:13px;line-height:1.7;color:#4e6f68;margin-top:20px}.criteria{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.criterion{background:#f5f8f8;padding:15px;border-radius:12px}.criterion h3{font-size:15px;margin:0 0 5px}.criterion p{font-size:13px;margin:0}.formula{background:var(--mint);border-radius:10px;padding:15px;font-size:14px;color:var(--teal);font-weight:600;margin-top:20px}.detail-location{margin:0 0 18px}.detail-cover{width:100%;height:240px;object-fit:cover;border-radius:14px}.detail-image-note{font-size:11px;color:var(--muted);margin-top:3px}.detail-summary{display:flex;align-items:center;justify-content:space-between;background:var(--soft);border-radius:12px;padding:16px 18px;margin:20px 0}.detail-summary .imo-value{font-size:36px}.detail-summary p{margin:0;font-size:13px}.detail-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.detail-metrics .metric{font-size:14px;background:#f8f9f9;padding:12px;border-radius:8px}.gallery-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:25px}.gallery-title h3{font-size:18px;margin:0}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.photo-button{padding:0;border:0;background:#e9efee;border-radius:12px;overflow:hidden;width:100%;height:150px}.photo-button img{width:100%;height:100%;object-fit:cover}.photo-caption{font-size:12px;margin:4px 0;overflow-wrap:anywhere;color:var(--muted)}.gallery-empty{padding:24px;background:#f8f9f9;text-align:center;border-radius:12px;color:var(--muted);font-size:13px;grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.slider-field{padding:14px 16px;background:#f5f8f8;border-radius:12px}.slider-heading{display:flex;justify-content:space-between;font-size:14px;font-weight:650}.slider-heading output{color:var(--teal);font-size:18px}.slider-field input{width:100%;accent-color:var(--teal);margin:12px 0 4px}.slider-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.user-row{padding:14px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:10px}.user-info{min-width:0}.user-info strong{font-size:14px}.user-info p{font-size:12px;margin:0;overflow-wrap:anywhere}.user-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.user-actions button{padding:7px 10px;font-size:12px}.credential{background:var(--mint);color:var(--teal);padding:16px;border-radius:10px;overflow-wrap:anywhere}.credential code{display:block;font-size:17px;padding-top:6px;user-select:all}.full-photo{width:100%;max-height:65dvh;object-fit:contain;background:#f5f8f8;border-radius:12px}.danger{color:#a63939}.small-link{border:0;background:none;font-size:12px;text-decoration:underline;color:var(--teal);padding:5px 0}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:13px 20px;background:var(--ink);color:white;font-size:14px;border-radius:10px;z-index:20;opacity:0;pointer-events:none;transition:.2s}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1441px){.cover-link{height:196px}}@media(max-width:1100px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.header-inner{padding:20px 32px}main{padding:0 32px}footer{margin:0 32px}.ocean-lines{width:360px;right:0}.intro h1{font-size:48px}.card-main,.card-bottom{padding-left:17px;padding-right:17px}.status-badge{left:17px}}@media(max-width:820px){.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-link{height:205px}.ocean-lines{width:240px;opacity:.65;right:-30px;top:120px}.header nav{gap:18px}.view-label{display:none}.filters{flex-wrap:wrap}.search{flex-basis:100%}.select-wrap{flex:1;min-width:0}.method-note{align-items:flex-start;flex-wrap:wrap}.method-note p{flex-basis:calc(100% - 40px)}.method-note button{margin-left:35px}.intro{padding-top:40px}.intro h1{font-size:44px}.section-top h2{font-size:27px}footer>span{display:none}}
@media(max-width:540px){.header-inner{padding:17px 20px;gap:12px}.brand{font-size:31px;gap:8px}.brand img{width:35px;height:35px}.header nav{gap:12px}.nav-link{font-size:12px}.nav-link span{display:none}.login-button{padding:10px;border-radius:9px}.login-button span{display:none}.login-button svg{width:19px;height:19px}main{padding:0 20px}.intro{padding:34px 0 35px}.eyebrow{font-size:10px;letter-spacing:1.1px;gap:7px}.intro h1{font-size:40px;letter-spacing:-1.7px;position:relative;z-index:1}.intro p{font-size:14px;max-width:290px;position:relative;z-index:1}.desktop-break{display:none}.intro-note{font-size:10px;margin-top:18px;gap:6px}.ocean-lines{width:180px;right:-100px;top:115px;opacity:.6}.section-top{margin-bottom:19px}.section-top h2{font-size:25px}.section-top p{font-size:12px}.filters{gap:9px;margin-bottom:22px}.search input,select{font-size:12px}.search input{padding:13px 0}.search{padding:0 12px}select{padding:13px 25px 13px 10px}.card-grid{grid-template-columns:1fr;gap:22px}.cover-link{height:210px}.card{border-radius:25px}.card-main{padding:0 21px 21px}.card h3{font-size:23px}.count-badge{font-size:13px}.location{font-size:13px;margin-bottom:17px}.metrics{gap:11px 18px}.metric{font-size:13px}.card-bottom{padding:17px 21px 21px}.status-badge{left:21px;font-size:12px}.imo-label{font-size:12px}.imo-value{font-size:29px}.gallery-link{font-size:13px}.method-note{padding:16px;margin:26px 0 30px;gap:10px}.method-note p{font-size:11px}.method-note button{margin-left:31px}footer{margin:0 20px;padding:22px 0 28px;justify-content:space-between;gap:12px}footer p{font-size:11px}.footer-brand{font-size:25px}.footer-brand img{width:29px;height:29px}dialog{padding:18px 20px 24px;border-radius:20px;max-height:92dvh}dialog h2{font-size:25px}.criteria{grid-template-columns:1fr}.detail-cover{height:190px}.detail-metrics{grid-template-columns:1fr}.detail-summary{gap:15px}.detail-summary p{font-size:12px}.user-row{align-items:flex-start;flex-wrap:wrap}.user-actions{justify-content:flex-start}.gallery-title{flex-wrap:wrap}.gallery-title .secondary{font-size:12px;padding:8px 12px}.photo-button{height:130px}.actions>*{flex:1}.intro-note .note-dot{width:5px;height:5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
.browse{padding-top:45px}.section-top h2{font-size:38px;margin-bottom:10px}.metric{font-size:14px}.metric dt{min-width:0;line-height:1.4}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.metric dd{flex-shrink:0}.card-main{padding-bottom:23px}.cover-link{height:195px}.location{font-size:13px}.gallery-link{font-size:14px}.imo-label{font-size:12px}.card h3{min-height:0}.count-badge{font-size:12px}
@media(max-width:1100px){.section-top h2{font-size:34px}.cover-link{height:185px}}@media(max-width:820px){.section-top h2{font-size:31px}.cover-link{height:205px}.browse{padding-top:34px}}@media(max-width:540px){.browse{padding-top:28px}.section-top h2{font-size:29px;letter-spacing:-1px}.section-top{margin-bottom:20px}.section-top p{font-size:13px}.cover-link{height:200px}.card h3{min-height:0}.metrics{gap:11px 18px}.metric{font-size:14px}.location{font-size:14px}.count-badge{font-size:13px}.imo-label{font-size:12px}}
.card-bottom>div{min-width:0;flex:1}.gallery-link{white-space:nowrap;flex-shrink:0}
@media(max-width:360px){.select-wrap{flex-basis:100%}.metrics{gap:10px 8px}.metric{font-size:13px}.gallery-link{font-size:13px}.cover-link{height:185px}}

/* Sua Onda: wordmark responsive sizing */
.brand{white-space:nowrap;letter-spacing:-1.6px}.footer-brand{letter-spacing:-1px}
@media(max-width:540px){.header .brand{font-size:26px;letter-spacing:-1px}.footer-brand{font-size:23px}footer{flex-wrap:wrap}footer p{margin:0}}
@media(max-width:360px){.header .brand{font-size:21px;gap:6px}.header .brand img{width:30px;height:30px}.header nav{gap:9px}.header-inner{gap:9px}}
.card-comments{border-top:1px solid var(--line);padding:0 19px;background:#fbfdfc}.comments-link{display:flex;align-items:center;gap:8px;width:100%;padding:14px 0;background:none;border:0;color:var(--teal);font-size:14px;font-weight:600;text-align:left}.comments-link>span:last-child{margin-left:auto}.comments-count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;background:var(--mint);border-radius:6px;font-size:12px}.auth-switch{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.auth-switch p{margin:0 0 12px}.auth-switch>.secondary{width:100%}.recovery-note{font-size:12px;overflow-wrap:anywhere}.recovery-note a{text-decoration:underline}.field-hint{font-size:12px;color:var(--muted);font-weight:400}.comments-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 16px;font-size:14px}.comment-list{display:flex;flex-direction:column;gap:14px}.comment{padding:18px;background:#f5f8f7;border:1px solid #e6eeeb;border-radius:12px}.comment-header{display:flex;align-items:center;gap:10px}.comment-header>div{min-width:0;flex:1}.comment-header strong{font-size:14px;overflow-wrap:anywhere}.comment-header time{display:block;font-size:12px;color:var(--muted)}.comment-avatar{display:grid;place-items:center;width:36px;height:36px;background:var(--mint);color:var(--teal);font-weight:700;border-radius:50%;flex-shrink:0}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0 0!important;color:var(--ink)!important;font-size:14px!important}.comment-form{border-top:1px solid var(--line);padding-top:20px}.comment-form textarea{min-height:115px}.comment-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px;font-size:13px}.comment-pagination .secondary{padding:9px 12px;font-size:13px}
@media(max-width:540px){.card-comments{padding:0 21px}.comments-intro{flex-wrap:wrap}.comment{padding:14px}.comment-header .small-link{font-size:12px}.comments-link{padding:15px 0}}
.login-button span{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:820px){.login-button span{max-width:130px}}
